[Baypiggies] The Inverse Extend Design Pattern

Shannon -jj Behrens jjinux at gmail.com
Sun Jan 8 06:05:30 CET 2006

On 1/7/06, Don Hopkins <dhopkins at laszlomail.com> wrote:
> I totally agree with Shannon's theory he states in the comments on his
> Inverse Extension Design Pattern article -- it's not only a great joke,
> but also the awful truth:
> http://www.linuxjournal.com/article/8747
> "I've joked that you could make a living writing about features that
> already in exist in Common Lisp, reimplementing them in languages like
> Python and Ruby."
> Exactly! Can you say "Aspect Oriented Programming"? Look at the great
> success Martin Fowler has had, trickling down the features from CLOS and
> Lisp macros into Java.
> The trick is to only introduce a few small features in isolation at a
> time, and space them out over enough years for people to calm down from
> the thrill of each new Common Lisp feature you introduce, otherwise they
> will accuse you of trying to reimplement Lisp, and banish you forever.
> It also helps if you choose an implementation language that's suitably
> non-lisp-like, like Java. Many Lisp tricks are much easier to express in
> Python than Java, thus less impressive. But with Java, simple tricks
> that are so easy to do in Lisp require huge elaborate productions (code
> slicing, special development tools and pre-processors, etc) so they seem
> like such a big deal in Java. And that sells more books!


Thanks for mentioning my article and my comment ;)  I guess I should
be happy that although you *can* implement "inverse extension" in
CLOS, it isn't yet a special form or anything.  That puts CLOS and
Python on an even playing field as far as that is concerned. 
Nonetheless, there *are* other things that can be cherry picked ;)


Law is much too important to be left to politicians, lawyers, and celebrities.

More information about the Baypiggies mailing list