[racket] letoverlambda

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Tue Nov 23 16:14:52 EST 2010

Thanks for posting that.

Robby

On Tue, Nov 23, 2010 at 2:44 PM, Ciprian Dorin, Craciun
<ciprian.craciun at gmail.com> wrote:
> On Sat, Nov 20, 2010 at 18:14, Matthias Felleisen <matthias at ccs.neu.edu> wrote:
>>
>>
>> If these two paragraphs are characteristic for the book, it is based on the usual misconceptions of poor Common Lispers about the world of hygienic macros, which they have never understood and are therefore afraid of.
>>
>> For us, we should figure out what's good about the book and use it for our own work. We understand 'hygienic macros' and these guys' world. Advantage, us.
>>
>> The author is irrelevant to us.
>>
>> -- Matthias
>
>
>    I don't want to take any sides in this debate -- which seems to
> drift into a "Scheme vs Common Lisp" debate -- I just want to point to
> the "Clarifications" page written by the same book author regarding
> it's controversies:
>
>        http://letoverlambda.com/index.cl/clarifications
>
>    Ciprian.
>
>
>    P.S.: It just happens that a few weeks ago I've started reading
> the book online, and from yesterday I also have the book. And I kind
> of like the macro stuff described in there. (And just for the record I
> prefer Scheme over Common Lisp.)
>
>    Moreover, the macros described in his book (by using a certain
> methodology) are not that different from a primitive hygienic-like
> macro system. For example he defines the `square` macro as:
>
>        http://letoverlambda.com/index.cl/guest/chap3.html#sec_6
>
> ~~~~
> (defmacro! square (o!x)
>  `(* ,g!x ,g!x))
> ~~~~
> (defmacro! square (o!x)
>  `(progn
>     (format t "[~a gave ~a]~%"
>                 ',o!x   ,g!x)
>     (* ,g!x ,g!x)))
> ~~~~
>
>    So my personal opinion (as an amateur Lisp-ish programmer) is that
> if someone is interested in DSL's he could read the book, at least to
> get an idea of what can be achieved in a Lisp-ish environment. (I
> actually want to understand his ideas and techniques and try to see
> how to better adapt and apply them to Racket in the context of
> hygienic macros (I currently only know `syntax-rules` so maybe the
> next step is to understand "hygienic" macros, thus any good pointers
> are welcomed).)
>


Posted on the users mailing list.