[ sorry for the long delay in getting back to this ]

On Wed, Oct 19, 2016 at 11:56 AM, Alex Knauth <alexan...@knauth.org> wrote:
>
>> On Oct 19, 2016, at 12:26 PM, Alexis King <lexi.lam...@gmail.com> wrote:
>>
>>> On Oct 19, 2016, at 4:06 AM, Robby Findler <ro...@eecs.northwestern.edu> 
>>> wrote:
>>>
>>> That's the best approach we currently have. Of course, we could support a 
>>> new property that was "connect srclocs" or something.
>>
>> Do you think it would make sense to have a property that uses
>> bound-identifier=? rather than free-identifier=? to connect
>> identifiers? Managing scopes seems a bit more feasible to do
>> procedurally than managing bindings (since you can use
>> make-syntax-introducer to explicitly add them), but I’m not sure
>> if that would be much better than a “connect srclocs” option.
>
> This is weird, because when 'disappeared-use is used with a normal binding it 
> makes sense to use free-identifier=? so that it can look through 
> rename-transformers. But when used with 'disappeared-binding, I would want it 
> to go by the scopes (bound-identifier=?), because there is no binding to look 
> at.
>
> For most of the macros I've made using this, I have wanted it to use 
> free-identifier=? if there is a binding, but bound-identifier=? otherwise. Is 
> that the behavior that makes sense for check-syntax arrows?

I think that probably it doesn't make sense to change the existing
properties, but it may make sense to add another one. I'm inclined to
leave things as they are, as it seems likely that the macro author can
always just insert a `let` that has the right binding structure for
the more complex cases, and that that's probably easier to reason
about for the macro author.

I've added a note to the Check Syntax docs along these lines:

https://github.com/racket/drracket/commit/b3244db4422422ac96753387f598b2f7a15e975f

Robby

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to