On Fri, Oct 12, 2001 at 12:39:09PM +0100, Keith Wansbrough wrote:
Dylan writes:
Incidentally, it seems to me that this is one case where a Lisp-like macro facility might be useful. With Haskell, it is impossible to play with bindings, while presumably you can do this with good Lisp macro systems.
Yes, this is one thing you can do with good macro systems as are found in Lisp and Dylan (the language, not the person!). See the references in my
http://www.cl.cam.ac.uk/~kw217/research/paper-abstracts.html#Wansbrough99:Ma...
Wansbrough, 1999. Macros and Preprocessing in Haskell
especially section 8.
Very good. Is there a concrete proposal for such macros? I think the arrow notation would be a harder test case than any of the existing syntactic sugar; I'd be curious to see what it looked like. (And is there support for adding these macros to Haskell?)
Hygiene is a key concept here; that variables bound in a macro should not clash with other variables in the program (unless this is explicitly required).
Off to read some Dylan manuals, Dylan