
Putting Metaclasses to Work
by Ira R. Forman, Scott H. Danforth · first published 1998
67% recommend33% neutral
Putting Metaclasses to Work takes a new, evolutionary look at important concepts of object-oriented programming, starting with the development of an object model from fundamental principles. Unique aspects of this object model include a use of metaclasses to encapsulate the implementation of object properties and a support for reuse of metaclasses. Metaclass reuse is based on a new semantics for inheritance that automatically combines metaclasses by using multiple inheritance to compose object properties. This book provides a concrete demonstration of how metaclasses can be used to increase pr
Affiliate links. As an Amazon Associate I earn from qualifying purchases.

The Kiczales book has already been mentioned. Two more: 1) A Theory of Objects by Abadi and Cardelli. 2) Putting Metaclasses to Work by Forman and Danforth (Guido Van Rossum recommends it on Amazon!).
on “Ask HN: Looking for curated list of approaches to OO implimentation” ↗…several architects working on IBM System Object Model (SOM). In 1996-1997 many good things ended, and SOM was terminated. But the work was so good that two architects did not stop and wrote the book: Putting Metaclasses to Work (1998). That book has got reference implementation in Java. So we have IBM SOM as closed source binary and we have Java source codes. IBM SOM executes on Windows 10. I have checked Visual Age for C++…
on “Ask HN: Who's still keeping a DOS machine up because the business depends on it?” ↗…subject make it seem very unlikely that C++ or Perl had any significant impact on the decision to create Python or the design of Python. Look at slide 4 of http://www.aleax.it/Python/ep03_meta.pdf: >>> "Putting Metaclasses to Work", by Ira Forman and Scott Danforth (AddisonWesley 1998) / strong influence on Python 2.2 & later / based on IBM SOMobjects & C++ That's only one thing coming to mind :) (immediately followed by the…
on “Announcing Azure Command-Line Interface 2.0 Preview” ↗…in "Metaclass" (https://en.wikipedia.org/wiki/Metaclass) i.e. the class of a class which is structurally similar to "Kind" though of course the mechanics are quite different. I still have an old book Putting Metaclasses to Work - A New Dimension in Object-Oriented Programming by Forman et.al somewhere. There is also the classic The Art of the Metaobject Protocol by Kiczales et.al which is quie relevant here - https://en.wikipedia.org/wiki/The_Art_of_the_Metaobject_Prot...…
on “Types of types: Haskell's Kind system” ↗