My experience with check-syntax is that several conditions have to be met:

* The identifiers must have the correct source locations (actually, you can 
make arrows point to weird places by faking the source locations)
* The properties must be present high enough in the AST. For example, if you 
put a 'sub-range-binders property on the "name" in "(define name value)", it 
won't work, instead the property should be present on the "(define name value)" 
syntax object itself, not on one of its subparts
* The planets must align.

At a first glance, I think in your case the problem is with the second 
condition, so you should "lift" all those properties out onto the topmost 
syntax object (they probably can be present at a lower point, but why bother?).

There's a with-disappeared-uses + record-disappeared-uses utility [1], and I 
wrote my own with-sub-range-binders + record-sub-range-binders! [2]. I also 
threw in a with-arrows form which combine both with-xxx forms.

Unfortunately, there is nothing for disappeared-bindings (yet). You can 
copy-paste and adjust my sub-range-binders code [3] and adjust it (permission 
granted to use whatever licence your project uses).

Georges

[1] 
http://docs.racket-lang.org/reference/syntax-util.html#%28form._%28%28lib._racket%2Fsyntax..rkt%29._with-disappeared-uses%29%29

[2] 
http://docs.racket-lang.org/phc-toolkit/phc-toolkit-format-id-record.html#%28form._%28%28lib._phc-toolkit%2Funtyped-only%2Fformat-id-record..rkt%29._with-sub-range-binders%29%29

[3] 
https://github.com/jsmaniac/phc-toolkit/blob/master/untyped-only/format-id-record.rkt

-- 
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