Re:Why Lisp?
by vorg on Friday May 08, 2015 @12:20AM
(#9509945)
Macros can provide a lot of syntactic convenience over those first-class functions, especially with heavily nested structures. For example, I can replace this monadic parser definition...
...with this more readable version if I have a recursively defined "macro" called doparse...
This requirement arose in Haskell for its Parsec before it became a part of the syntax, then again later with the Arrow library which later also added it to the syntax. Whenever new abstractions are discovered/created, a macroing facility, whether for lisp-like syntax or some other, helps makes all the nested functions more readable.
[ Parent
| on HN ]
Re:Why Lisp?
by DanWaterworth on Friday May 08, 2015 @05:02AM
(#9510633)
I'm fairly sure that Haskell had do notation before Parsec.