[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Comments on AMOP

Here are a couple more comments on AMOP.

Page 32.  I recommend redoing your treatment of method-functions
slightly.  In the Closette software, method-functions are compiled at
runtime.  The body of AMOP talks about some imaginary way of doing
apply-method that calls eval.  This way is then extended, later on.  I
believe things would be fine if you introduce method-functions
immediately.  You could mention the way Closette does it, which is
late compilation, versus the way PCL does it during compile-file time,
and leave the details until the appendix.  Even keeping the body and
the function around could lead to very interesting SELF like
experimentation.  Your metalevel extentions in section 4.2.3 would
still work out well.  An alternative would be to create the compiled
method-function as a #'(lambda ...) in the call to ensure-method.
This would let you side step the environment issue altogether.

Clearly you want to make the factoring point on page 134 quite
strongly.  I don't think you need weak method functions to make the
point.  I found it a cruel joke to read up to page 138 to find that i
wasn't going to get a clue of how a real CLOS implementation does this.

Page 119, Line 3. Starts with a funny character.

Basically, i think this is a wonderful work.  It is probably even more
valuable than finishing Chapter 3 of CLOS, because it motivates the
issues of any MOP so well.  I think Appendix A deserves to be a full
fledged chapter.  I love the term "metastability".  Watching you
construct the metabraid in Closette in 10 easy steps was extremely