3 ms·
As I understand it, if Haskell didn't already have syntax for let vars in expr you wouldn't be able to use Template Haskell to create it from scratch. Any
by prodigal_erik 17y ago
As I understand it, if Haskell didn't already have syntax for
let vars
in expr
you wouldn't be able to use Template Haskell to create it from scratch. Any domain-specific languages you make have to mimic existing Haskell syntax.
- mahmud 17y agoMost people think macros are for "compacting" code, or factoring out common parts. Macros are for introducing new control primitives, syntax and evaluation models into the language.
- gruseom 17y agoIt's both, no? You can always write macroexpanded code by hand, only with much repetition, so in that sense macros are always compacting. Except, I suppose, for perverse macros which expand into shorter code :)
- mahmud 17y agoIt's for both, but utility functions also serve the same purpose (which is why you see people claiming they could do whatever Lisp macros do with function/methods/classes/monads/templates/makefiles, etc.) :-P