[racket] Again on bindings visibility in eval

From: Eli Barzilay (eli at barzilay.org)
Date: Thu Jul 14 15:03:46 EDT 2011

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...)

> 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.

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the users mailing list.