Re: More DrRacket binding arrow woes
Robby Findler <[email protected]>
| Newsgroups | gmane.comp.lang.racket.user,gmane.lisp.scheme.plt |
|---|---|
| Message-ID | <CAL3TdOMqonANM_28CuE3zFfTSxU=H7KC7GAwM5OmxwRQ3kyuAQ@mail.gmail.com> |
It's not great, but one of the things I do to try to diagnose issues like this is to put printfs into the check syntax implementation itself. They will show up in the stdout put of DrRacket (so start it from a Terminal window on the mac, say). To test Alex's hypothesis, I suggest putting one that shows the inputs being passed to `add-id` on this line: https://github.com/racket/drracket/blob/master/drracket-tool-lib/drracket/private/syncheck/traversals.rkt#L505 You should be able to just stick the printf in there and then restart DrRacket without recompiling anything (assuming zos were already up to date). I also think that building a tool around this idea (that used logging instead of printfs) could be quite useful. There are a few places where one could put some logging information that shows what's going on to help out language designers and see why check syntax bails out. Robby On Sat, May 7, 2016 at 8:15 AM, Alex Knauth <[email protected]> wrote: > >> On May 7, 2016, at 5:18 AM, Alexis King <[email protected]> wrote: > >> However, I am not seeing any of the Check Syntax binding arrows at all. >> Neither the arrows from imports nor arrows between definitions show up. >> Inspecting the syntax objects at read-time and after expansion in the >> macro stepper reveals quite clearly that the syntax objects I am >> producing are syntax-original?, and adding the >> 'original-for-check-syntax syntax property doesn’t affect things, >> either. The bindings are clearly correct, since the program runs, and >> comparing the scopes and syntax properties to an equivalent program in >> #lang racket doesn’t reveal any meaningful differences. I have no idea >> what I’m doing wrong. >> >> Any ideas on how to diagnose this issue? I can also post >> the code I have somewhere if people think that would help, but it’s a >> bit much without reducing it to a self-contained example, so I figured >> I’d ask first to see if I’m forgetting something silly. >> >> Alexis > > So, the bindings are fine, and the syntax-original? property is fine. Is the source location good, including the `syntax-source` field? > > I had a similar issue once, and it turned out that it was because the `syntax-source` part of the source location was wrong. I had been using things like `(input-port-append (open-input-string ....) ....)`, which were resulting in `syntax-source` fields of `'string` for some of the syntax objects. So that's something silly that can happen. > > Other than that I don't know very much of what can go wrong to mess up the check-syntax arrows. Oh, also, they don't show up from background expansion, but did you mean that they also don't show up when you click the actual Check Syntax button? Sometimes that works when background expansion doesn't (it did for the `'string` case). > > Alex Knauth > > -- > 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+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected] > For more options, visit https://groups.google.com/d/optout. -- 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+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected] For more options, visit https://groups.google.com/d/optout.