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

Reply via email to