[racket-dev] OT: stump misunderstands Scheme?
Three minutes ago, Robby Findler wrote:
> On Tue, Nov 16, 2010 at 4:19 PM, Eli Barzilay <eli at barzilay.org> wrote:
> >
> > Sounds to me like the classic problem that some "symbolic" people
> > have when they don't "get" hygiene (usually ending up in
> > `defmacro' nostalgia where "symbols are symbols", possibly
> > together with `eval' abuse).
>
> That example in the end of the quoted region is somehow turning a
> procedure back into a datum by passing it to car/cdr. (strange!)
Yeah, that's part of why it looked even more confused than I initially
thought. I don't remember ever seeing a real scheme where functions
were represented as lists that way. (Not counting reflective toys, of
course.) His lack of `caddr' also makes me think that he's not a
native speaker...
Two minutes ago, Shriram Krishnamurthi wrote:
> You know, it's not inconceivable such a thing could happen if you
> had a PURELY syntactic *interpreter*.
>
> I remember when I got to Brown, they were using one of those weirdo
> Scheme interpreters, and had come to conclusions about the semantics
> of Scheme on the basis of its behavior. Things like you could run
>
> ('(lambda (x) x) 3)
>
> and it would evaluate to 3 because of the way the interpreter was
> structured.
And an obvious question is what would
(let ([x 1]) ('(lambda () ,x)))
evaluate to?
In any case, if you swallow that pill and take a dose of dynamic scope
too, you end up with newlisp. (Which I think makes perfect sense in
that world.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!