[Haskell-cafe] Haskell-Cafe Info Page
Don Stewart
dons at galois.com
Sat May 17 15:16:30 EDT 2008
allbery:
> On 2008 May 17, at 14:52, D. Gregor wrote:
>
> Common Lisp is a multiparadigm, general purpose programming language
> that supports imperative, functional, and object-oriented programming
> paradigms. Haskell is purely functional. Is this a reason why there is
> not macro feature in Haskell? I feel the object-oriented paradigm of CL
> and Scheme is the reason for the macro feature in these two languages.
> If it's not, then what does the macro feature provide, and why isn't it
> in Haskell?
>
> Macros in Lisp have less to do with functional vs. non-functional than
> with programs and data having precisely the same form (s-expressions).
> There is a macro facility of the kind you're thinking of in Haskell
> (Template Haskell), but you have to work with abstract syntax tables which
> look nothing like the original code.
Also, laziness is used for many of the coding jobs you might use macros
for. So there's less need for macros.
-- Don
More information about the Haskell-Cafe
mailing list