On Wed, Jan 14, 2009 at 10:48 AM, Jonathan Cast
<jonathancc...@fastmail.fm> wrote:
> 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
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to