[racket] Syntax arrows: Strange capturing behavior

From: Jordan Johnson (jmj at fellowhuman.com)
Date: Sun Jan 4 02:18:33 EST 2015

Hi all,

This behavior (shown in attached images) showed up in some code I was working on tonight: A complex quasiquoted expression is apparently fooling DrRacket (6.1.1 under OS X Yosemite) into thinking one reference refers to another reference, not to its actual binding.



(In the code pictured here, oauth2-client is a struct type defined in the file, and me refers to an instance of it. me was a constant that I was in the process of lifting to be a parameter.)

If I replace the ,(oauth2-client-callback me) with a different expression, the bottommost me is then correctly shown referring to the function parameter, but if I retype anything of the form ,(some-defined-function me), the odd behavior comes back. It persists across saving and reloading of the file.

This seemed worthy of reporting, but after about 40 min of experimentation, I still haven’t managed to reproduce the behavior in another file, so I thought I’d best throw it out to the list to see if it triggers any ideas from someone with more knowledge of the syntax-checking internals.

Cheers,
Jordan


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20150103/23cadb91/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2015-01-03 at 10.46.23 PM.png
Type: image/png
Size: 73637 bytes
Desc: not available
URL: <http://lists.racket-lang.org/users/archive/attachments/20150103/23cadb91/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2015-01-03 at 10.46.45 PM.png
Type: image/png
Size: 60993 bytes
Desc: not available
URL: <http://lists.racket-lang.org/users/archive/attachments/20150103/23cadb91/attachment-0003.png>

Posted on the users mailing list.