What is this faggotry? How do I make it transparent, so that I can just (require 'my-library) and have it just work?
Name:
Anonymous2015-02-01 22:02
There's a "code as data" philosophy in Haskell, too. It's not related to macros, though, but rather to writing small, very specialized interpreters (EDSLs basically). You define a data type that represents the AST of your EDSL and then add some functions for evaluating that AST.
I might add that this is better than Lisp's macros, because macros aren't first-class citizens. You can't pass macros as arguments to higher-order functions like map or filter.