Notes on "The Art of the Metaobject Protocol"


Quick thoughts, I’ll update this over time:

  • this is a new-to-me data point in the design of the Ruby object system: ruby meta-programming and the interesting things you can do with ancestors lists #prepend match up to interesting points in the design space of object systems that the authors write about

  • the MOP feels less like an “object system” than a “multiple disptach” system with enough typing to linearize the dependency graph; that makes me wonder if there’s a further separation to make, where we take the multi-disptach but leave the subtyping?