5 ms·
sedachv actually got my point. The standard need for macros rather than functions is to handle staged computations, distinguishing between names and objects.
by wnoise 15y ago
sedachv actually got my point. The standard need for macros rather than functions is to handle staged computations, distinguishing between names and objects. Lazy evaluation really does strike right at the heart of this, unlike something like "object system".
- kenjackson 15y agoClosures give you this (staged computations). Macros really give syntactic abstraction. That's it. That's nice, but you get the rest via other mechanisms.
- sedachv 15y agoClosures can't do partial evaluation, macros can.
- kenjackson 15y agoI wasn't trying to imply you can do everything with closures. But rather you could do lazy evaluation with it (I guess staged computations could include various forms of pre-rutime evaluation).