Quantcast
Channel: Random Hacks
Viewing all articles
Browse latest Browse all 22

"Why Hygienic Macros Rock" by Eric

$
0
0

Scott: That’s a good question, and I don’t actually know the answer.

Most Scheme implementations take a distantly-related approach. They generally have two different hygenic macro systems:

  • A “low-level” macro system, which works roughly like LISP, but which provides hygiene by default, but also provides the ability to violate hygiene selectively. This tends to be a bit fiddly to use.
  • A “high-level” macro system, which is based on hygienic rewrite rules. This is very easy to use, and will work for nearly all common macros.

Of course, using the low-level macro system, you can easily implement Lisp-style non-hygienic macros.

The PLT people have recently added another very slick feature to the standard Scheme toolkit: The ability the selectively violate hygiene from inside rewrite rules, in a carefully controlled fashion. This is a really nice feature, and we’ve been using it at work with great success.


Viewing all articles
Browse latest Browse all 22

Trending Articles