Three minutes ago, Robby Findler wrote: > On Tue, Nov 16, 2010 at 4:19 PM, Eli Barzilay <e...@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! _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev