Hacker News new | past | comments | ask | show | jobs | submit login

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




It'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 :)


It'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




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: