2009/8/25 John Cowan <[email protected]>: > David Rush scripsit: > >> > # The language developed by working group 1 must include support for >> > # macros and modules/libraries in a way that is appropriate for the >> > # language's small size. >> >> Ah. Well the thing is that hygiene-breaking macro modularity looks (to >> me at least) like it requires some way of staging the macro >> evaluations - which almost certainly means something that looks a lot >> like a module system. > > I don't read that as requiring low-level or unhygienic macros. (As foof > points out, some macro systems are both high-level and unhygienic, like > C #defines.)
Good point. However, I think that hygiene-breaking macros are more fundamental in the sense that you can't implement them if you only have hygienic forms. Having said *that*, I generally find even less need for hygiene-breaking macros than I do for hygienic ones - and hygienic ones do have the nice property that you have to keep the binding contours of you code clean. And hygienic forms also don't have staging issues, even if SYNTAX-RULES is Turing-complete. I think I would be quite happy with a syntax-rules only Core Scheme. define-macro, however, is nearly a de-facto standard, but define-macro also runs you immediately into the staging problem. Not being on the committee, I don;t have to make this decision, but I think I would personally rather see a syntax-rules only system with *no* module system other than syntax-rules + lambda (with which you can design a fairly nice one, thank you very much). I don't know that I think my preferred solution is politically viable, though. david rush -- GPG Public key at http://cyber-rush.org/drr/gpg-public-key.txt _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
