<div dir="ltr">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.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 22, 2019 at 9:40 AM Matthew Pickering <<a href="mailto:matthewtpickering@gmail.com">matthewtpickering@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Are you aware of hole fit plugins Sandy? Do they provide a nice API<br>
for you to use?<br>
<br>
This sounds like a cool and simple change anyway. What happens if you<br>
add this additional information using a source plugin or is that too<br>
late?<br>
<br>
Matt<br>
<br>
On Thu, Aug 22, 2019 at 5:24 PM Sandy Maguire <<a href="mailto:sandy@sandymaguire.me" target="_blank">sandy@sandymaguire.me</a>> wrote:<br>
><br>
> 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: <a href="https://asciinema.org/a/FZjEIFzDoHBv741QDHfsU5cn8" rel="noreferrer" target="_blank">https://asciinema.org/a/FZjEIFzDoHBv741QDHfsU5cn8</a><br>
><br>
> 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.<br>
><br>
> Sandy<br>
><br>
><br>
><br>
> On Sat, Aug 17, 2019 at 6:27 PM Sandy Maguire <<a href="mailto:sandy@sandymaguire.me" target="_blank">sandy@sandymaguire.me</a>> wrote:<br>
>><br>
>> Hi all,<br>
>><br>
>> 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`.<br>
>><br>
>> 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.<br>
>><br>
>> Cheers,<br>
>> Sandy<br>
>><br>
>> --<br>
>> 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! <a href="https://isovector.github.io/erdos/" rel="noreferrer" target="_blank">https://isovector.github.io/erdos/</a><br>
><br>
><br>
><br>
> --<br>
> 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! <a href="https://isovector.github.io/erdos/" rel="noreferrer" target="_blank">https://isovector.github.io/erdos/</a><br>
> _______________________________________________<br>
> ghc-devs mailing list<br>
> <a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a><br>
> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>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! <a href="https://isovector.github.io/erdos/" target="_blank">https://isovector.github.io/erdos/</a><br></div></div></div>