Hey,
I'm currently writing a book on OOP, and after exhausting the usual stuff, I'm now at advanced topics that only Common Lisp and other Lisp dialects tackle, including Method Combinations, Multiple Dispatch and Meta-Object Protocols.
out of curiosity, what do you have so far from the usual topics?
Are there good motivational examples that fit in a couple of pages? And/or are there good free software or source-available programs and libraries that are worth citing and sending my readers to, to illustrate the power and interest of those techniques?
I've made a few examples on my blog: https://turtleware.eu/posts/Method-Combinations.html -- couple of method combinations https://turtleware.eu/posts/Proxy-Generic-Function.html -- proxying function methods to another generic function https://turtleware.eu/posts/Dynamic-Vars---Return-of-the-Jedi.html -- thread-local variables ala ContextL the last one is actually used in McCLIM to a great effect, allowing for thread-safe output record history modifications. I had to incorporate some changes to make it work on LW (their MOP does not always follow the standard and closer-mop does not cover all its bases). Timothy Moore came up with a clever way to parametrize standard classes in McCLIM: https://www.jucs.org/jucs_14_20/an_implementation_of_clim/jucs_14_20_3358_33... Marco Heisig came up with a protocol for fast generic functions that allow for sealing function (sub-)domains: https://github.com/marcoheisig/fast-generic-functions That'd be all from the top of my head. Best regards, Daniel