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

Deliberate variable capture.

This page is part of the web mail archives of SRFI 46 from before July 7th, 2015. The new archives for SRFI 46 contain all messages, not just those from before July 7th, 2015.

You know, the more I think about scheme macros, the more I think that
failure to allow _deliberate_ variable capture is a bad thing.  We
know, up close and personal, how annoying and subtle the bugs are in
dialects like interlisp, etc, where _inadvertent_ variable capture
happened.  But we have reacted by walking away and locking the door
instead of figuring out how to use variable capture purposefully and
in well-defined ways.  We have made of hygiene a restriction rather
than a tool.  And it was supposed to be a tool.

This is out of scope for the current SRFI, but for me the most
fundamental extension to define-syntax or syntax-case that's really
needed is some standardized way of explicitly allowing variables
inside a macro to be captured and breaking hygiene.  This would add
more expressive power than metamacros.