Arrow notation, etc.

Keith Wansbrough
Fri, 12 Oct 2001 12:39:09 +0100

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

Wansbrough, 1999.  Macros and Preprocessing in Haskell

especially section 8.

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).

--KW 8-)
Keith Wansbrough <>
Cambridge University Computer Laboratory.