Patrick Li wrote at 10/16/2011 09:15 PM:
Does anyone have some tips for wrapping their heads around recursive things like this? e.g. writing multi-methods using normal functions, and then somehow turning everything into multi-methods?

I think that might be a simple module (or Racket #lang) problem: your module imports the ``primitive'' "car" and "cdr", and exports the multimethod replacements for the primitives, using the same names as the primitives.

OR writing an object system, where your classes are also objects, etc...

When I was using Smalltalk or Self, I believe this was sometimes called ``infinite meta-regress.'' I would use that term as a Google starting point. I'd also read up on all the Gregor Kiczales et al. writings on CLOS, including the *Art of the Metaobject Protocol* book.

I'd also take another look at Eli Barzilay's Swindle package for Racket, which, IIRC, included a CLOS-like object system including multimethods. Although, you have the advantage of modern Racket, which Eli didn't have a bazillion years ago when Swindle was first written, so there might be some new fun opportunities.

--
http://www.neilvandyke.org/
_________________________________________________
 For list-related administrative tasks:
 http://lists.racket-lang.org/listinfo/users

Reply via email to