[plt-scheme] question about question mark
Hi Matthew,
Thanks for your answer, clear and expert as always.
Jos
----- 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: Thursday, June 21, 2007 12:55 AM
Subject: Re: [plt-scheme] question about question mark
> At Sun, 17 Jun 2007 17:31:35 +0200, "Jos Koot" wrote:
[snip]
>
> If you change the example slightly:
>
> (module x mzscheme
> (define var 1)
> (define-syntax x (syntax-rules () ((_ f) (f var))))
> (provide x))
>
> then `var' may not refer to the definition in the `x' module after all,
> depending on what `f' turns out to be. (It might be `quote', for
> example.)
>
> It's possible that Check Syntax could be made smart enough to say that
> `var' in the original example definitely refers to the definition; I'm
> not sure what form the specification of Check Syntax's behavior would
> have to take to make that possible, though.
>
> Instead, Check Syntax always draws "?"-annotated arrows from
> identifiers in templates.
>
> Matthew