
14 Jan
2009
14 Jan
'09
2:06 p.m.
On Wed, Jan 14, 2009 at 10:48 AM, Jonathan Cast
Do you have an example of a macro that can't be replaced by higher-order functions and laziness?
I believe I do: one macro I found useful when writing a web app in Lisp was something I called hash-bind, which binds variables to the values in a hashtable, with the variable names as keys. For example: (hash-bind (a b) hashtable body) == (let ((a (lookup hashtable "a")) (b (lookup hashtable "b")) body) I found this very useful in places where I was given URL request parameters in a hashtable and wanted to extract some variables from it. I don't believe it can be replaced by a higher order function (though I may be wrong). --Max