Getting a hole's relevant local binds?

Sandy Maguire sandy at sandymaguire.me
Thu Aug 29 05:34:30 UTC 2019


I wasn't aware of hole fit plugins! Though I'm not sure they're
particularly useful for tooling outside of GHC; it's not clear how I'd
install a plugin and then get results out of it into a completely different
process. Furthermore, do they only give me hole _fits_? I also need to get
my hands on zonked bindings in scope.

On Thu, Aug 22, 2019 at 9:40 AM Matthew Pickering <
matthewtpickering at gmail.com> wrote:

> Are you aware of hole fit plugins Sandy? Do they provide a nice API
> for you to use?
>
> This sounds like a cool and simple change anyway. What happens if you
> add this additional information using a source plugin or is that too
> late?
>
> Matt
>
> On Thu, Aug 22, 2019 at 5:24 PM Sandy Maguire <sandy at sandymaguire.me>
> wrote:
> >
> > Following up on this, I've hacked in the changes locally, by setting
> `XVar GhcTc = [Name, Type]`, and filling it only for `HsVar`s that used to
> be `HsUnboundVar`s. The result is remarkable, as it allows for interactive
> proof search. I've got a proof of concept here:
> https://asciinema.org/a/FZjEIFzDoHBv741QDHfsU5cn8
> >
> > I think the possibilities here warrant making the same change in HEAD.
> I'd be happy to send an MR if it seems likely to be merged.
> >
> > Sandy
> >
> >
> >
> > On Sat, Aug 17, 2019 at 6:27 PM Sandy Maguire <sandy at sandymaguire.me>
> wrote:
> >>
> >> 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
> > ghc-devs at haskell.org
> > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>


-- 
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/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20190828/cddb9b9a/attachment.html>


More information about the ghc-devs mailing list