Skip to content

Comment on Lisp: More is lessparent

Comments

Macros have its major purpose - they are means of creating advanced DSLs. Simple DSLs could be created just out of high-order procedures and list structure, but they will be bounded by the general evaluation rule, that all the arguments would be evaluated before actual procedure application, which is not always what we want.

Macros is the way to add new special forms to a Lisp or a DSL embedded in it. This is why macros are there.

To avoud macros is to restrict oneself from designing a program as layers upon layers of DSLs which is the most powerful paradigm. Just look at that Rtml DSL of ViaWeb system.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.