On 26 October 2016 at 11:43, Simon Peyton Jones <simo...@microsoft.com> wrote: > As far as I understand it: > > · You are plucking a type from the midst of a syntax tree, and > displaying it. > > · That type might well mention type variables that are bound > “further out” > > o either by a forall (if this is a sub-tree of a type) > > o or by a big lambda > > · There are some tricky UI issues in how to display such types to > the user.
Right. > Generally, I think it’s mainly up to you to track which type variables are > in scope from “further out”. It’s not a property that is stable under > transformation, so it’s not part of the TyVar. Fair enough. That's useful to know, thanks. In that case I can explore alternative approaches. > The typechecker itself uses “tidying” to avoid accidentally displaying > distinct type variables in the same way. See TyCoRep.tidyType and related > functions. They may be useful to you too. Ah, the TidyEnv makes sense to me. I think that'll come in handy to review the code to make sure I don't miss anything. > Hard for me to say more… I’m swamped, and there are genuine UI issues here. > Maybe some folk on Haskell Café might be interested. Thanks! I've also got low bandwidth for this, I just posted it to have it out there, as it probably requires some brewing before anything will be implemented anyway. _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs