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

Reply via email to