Getting a hole's relevant local binds?

Sandy Maguire sandy at sandymaguire.me
Thu Aug 22 15:23:45 UTC 2019


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


More information about the ghc-devs mailing list