Simon, my reasoning here is that holes are the only place GHC will mention relevant bindings. I'd definitely prefer to put all of the relevant local bindings in scope for _every_ HsVar, but that seemed less amenable to being merged :)
On Wed, Aug 28, 2019 at 4:56 AM Simon Peyton Jones <[email protected]> wrote: > how receptive would y'all be to a patch that puts the `TcLclEnv`, or > something similar inside `XUnboundVar GhcTc`. > > > > That sounds plausible. But is an unbound-var the only place an > editor/IDE tooling might want to get its hands on such a thing? ie would > that solve your problem, but not the next person’s? > > > > Also note that you could easily build up a list of all the in-scope Ids > simply by gathering them from the tree as you walk inwards. There’s no > actual need for a new function -- although I can see it might be more > convenient. > > > > Simon > > > > *From:* ghc-devs <[email protected]> *On Behalf Of *Sandy > Maguire > *Sent:* 18 August 2019 01:28 > *To:* [email protected] > *Subject:* Getting a hole's relevant local binds? > > > > Hi all, > > > > I'm trying to get my hands on the relevant local binds (as reported by ghc > in the presence of a type hole) for editor tooling support. Tracing the > code suggests that these things come from the `TcLclEnv`, but afaict, all > remnants of `TcLclEnv` are thrown away by the time we get a > `TypecheckedModule`. > > > > Am I mistaken in this? If not, how receptive would y'all be to a patch > that puts the `TcLclEnv`, or something similar inside `XUnboundVar GhcTc`. > This way editors would have an easy means of getting their hand on whatever > is in scope at the site of a hole, without resorting to parsing error > messages. > > > > Cheers, > > Sandy > > > > -- > > I'm currently traveling the world, sleeping on people's couches and doing > full-time collaboration on Haskell projects. If this seems interesting to > you, please consider signing up as a host! > https://isovector.github.io/erdos/ > -- I'm currently traveling the world, sleeping on people's couches and doing full-time collaboration on Haskell projects. If this seems interesting to you, please consider signing up as a host! https://isovector.github.io/erdos/
_______________________________________________ ghc-devs mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
