On 11 Sep 2009, at 4:15 pm, John Cowan wrote: > Brian Mastenbrook scripsit: > >> Evaluating arbitrary Scheme at expansion time brings several issues >> into >> play that would not exist otherwise: phasing semantics, the >> interaction >> between phases and binding visibility, and the necessity of having an >> interpreter in an otherwise cross-compiler-only implementation. > > *Exactly* why I don't want it in Thing One.
That's fine with me. I was leaning for "low-level hygienic macros in Thing One, as Thing Two can define syntax-rules and syntax-case in terms of them", but that's more of an implementation-biased approach than user-biased. syntax-rules is a subset of all the other macro systems in terms of functionality, and is indeed potentially easier to implement in more widespread implementations (as you don't need all of Scheme in the compiler, as Brian/John/others point out), so it really ought to be the one that's mandated as the Lowest Common Denominator, with low-level hygienic macros (ER/Synclos/syntax-case) available as extra features specified in Thing Two. Where's the actual specification for ER and synclos? All I've read are tutorials on them. Why aren't they even SRFIs? ABS -- Alaric Snell-Pym Work: http://www.snell-systems.co.uk/ Play: http://www.snell-pym.org.uk/alaric/ Blog: http://www.snell-pym.org.uk/archives/author/alaric/ _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
