[plt-scheme] syntax-local-context?
Hi Matthew and Jens Axel
Matthew, thanks for your quick and comforting response. Indeed, turning
debugging off solves my problem.
Jens Axel, I ignore, but thanks anyway.
Jos
(((((lambda(x)((((((((x x)x)x)x)x)x)x)x))
(lambda(x)(lambda(y)(x(x y)))))
(lambda(x)(x)x))
(lambda()(printf "Greetings, Jos~n"))))
----- Original Message -----
From: "Matthew Flatt" <mflatt at cs.utah.edu>
To: "jos koot" <jos.koot at telefonica.net>
Cc: "PLT-list" <plt-scheme at list.cs.brown.edu>
Sent: Wednesday, February 14, 2007 3:11 PM
Subject: Re: [plt-scheme] syntax-local-context?
> At Wed, 14 Feb 2007 14:53:35 +0100, "jos koot" wrote:
>> The following confuses me:
>>
>> (define-syntax (show-local-context stx)
>> (syntax-case stx ()
>> ((show-local-context x)
>> (let ((x (syntax x)))
>> (printf "~s ~s.~n" (syntax-object->datum x) (syntax-local-context))
>> x))))
>>
>> (let ((d (show-local-context (add1 2)))) d) ; --> 3
>> ; displayed: (add1 2) top-level.
>>
>> I expected display: (add1 2) expression. Do I misunderstand the manual or
>> (less probably) is this a bug?
>
> It's a bug, now fixed in SVN.
>
> The bug was in the expander for `let-values', and only in the path for
> `expand' (as opposed to compiling directly to bytecode). DrScheme and
> errortrace use `expand', so the bug showed up there, but not in plain
> MzScheme.
>
> Thanks,
> Matthew
>
>