[racket] Again on bindings visibility in eval

From: Markku Rontu (markku.rontu at iki.fi)
Date: Thu Jul 14 15:08:27 EDT 2011

On Thu, Jul 14, 2011 at 10:03 PM, Eli Barzilay <eli at barzilay.org> wrote:

> 10 minutes ago, Markku Rontu wrote:
> > On Thu, Jul 14, 2011 at 6:23 PM, Eli Barzilay <eli at barzilay.org> wrote:
> > > No, it's broken in pretty much all cases.  Give me a single
> > > symbolic macro and I'll show you how it's broken.  (And point out
> > > how CL bypasses the problem...)
> > >
> > I think it's a bit disingenuous to say they are broken. People made
> > successful systems using their simple but broken tools, yes? People
> > are making successful systems in crippled languages such as Java and
> > CL. And some people even like it :-) Sure they can only build a
> > limited thing with the broken tool, but if you stay within its
> > limits it doesn't matter, does it? Nobody is trying to implement
> > Typed Clojure on top of the macro system, I hope :-)
>
> Sure, if you take the TM-equivalent path then nothing is broken, of
> course...  (That path tends to melt away all of PL into a weak *puff*
> of irrelevance...)
>
> I mean exactly this sense of disingenuousness when you use the word broken
for something that people use successfully despite its warts. That it is a
weak *puff* of irrelevance of a word :-) Lead from the front, show superior
tools by showing superior results!

>
> > But as syntactic sugar for a DSL, where's the big problem that makes
> > it entirely broken?
>
> Actually, unhygienic macros break even more glaringly for many DSLs.
>

Which I guess is why they tend to be recommended as only syntactic sugar on
top of a plain old functional library?

-Markku


>
> --
>           ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
>                    http://barzilay.org/                   Maze is Life!
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20110714/d0d6a88c/attachment.html>

Posted on the users mailing list.