> > What is "repl."?
> 
> Read-Eval-Print Loop?

You're absolutely right.  I've always seen that capitalized (REPL) and
didn't recognize it in lowercase.  Perhaps too much Unix :-).
(There's a big brouhaha in Scheme because revision 6 switches
from case-insensitive to case-sensitive.  I'm used to case-sensitive
systems, including guile which is a case-sensitive Scheme, so
it seemed perfectly sensible to me.)

> A little off-topic, seeking to understand Lisp macros a little better: 
> do complex macros tend to not compose well because they're expanded 
> preorder rather than evaluation order (postorder)?

Actually, complex macros work just fine, as long as you stick to the
Lisp convention that "operator is always named first in a list".  As long as 
you do that,
complex macros that reach deeply into their parameters will still work.  But 
this is
why infix operators have trouble - the operator is NOT first in an infix 
expression.
By making this translation at read-time, complex macros work again.

Of course, there's always a trade-off; if you translate at read-time, then 
precedence
rules get tricky - you have to make sure that the correct precedence rules are
enabled when you read a particular expression. If there are snippets at various
levels in the same read-expression, that's REALLY tricky.
My solution is chop the problem off at the knees:
no precedence, so no problems.  In my experimentation this actually works
surprisingly well; the loss of precedence is not really a big deal in a vast 
number
of circumstances.

I'm actually really happy with the latest version of sweet-expressions; I think
it is extraordinarily general, and experiments seem to suggest it produces 
really
nice results WITHOUT special-casing, etc., etc.

--- David A. Wheeler

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Readable-discuss mailing list
Readable-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/readable-discuss

Reply via email to