Getting a hole's relevant local binds?

Matthew Pickering matthewtpickering at gmail.com
Thu Aug 22 16:39:57 UTC 2019


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


More information about the ghc-devs mailing list