Making Macros in CoffeeScript(blog.lab49.com)
blog.lab49.com
Making Macros in CoffeeScript
http://blog.lab49.com/archives/5111
4 comments
Pretty cool. We've been using macros in the Cappuccino source code for years, but we were too lazy to write our own macro processor so we just use the GCC preprocessor. Relying on GCC being available turns out to work pretty well.
Swap was not the best choice to be used as example, imho.
CoffeScript has deconstructing assignments so to swap two variables you just do [x, y] = [y, x].
I saw parsec-coffee-script a while back and really wanted to help, but I was quite busy. I'd love to see hygenic macros in coffee-script... Unfortunately, it looks like parsec hasn't been committed to since February. Anyone know what the status of that project is?
Isn't this just lexical macros?
I expected a HN headline to refer at least to a novel Lisp style AST macro implementation; there's m4 and cpp for basic textual macro expansion and those are very old news.
I expected a HN headline to refer at least to a novel Lisp style AST macro implementation; there's m4 and cpp for basic textual macro expansion and those are very old news.
It's actually working on the CoffeeScript AST. Admittedly the example I used doesn't demonstrate this particularly well.