[GHC] #14963: ghci -fdefer-type-errors can't run IO action from another module
GHC
ghc-devs at haskell.org
Sun Apr 1 04:28:57 UTC 2018
#14963: ghci -fdefer-type-errors can't run IO action from another module
-------------------------------------+-------------------------------------
Reporter: elaforge | Owner: (none)
Type: bug | Status: new
Priority: high | Milestone: 8.4.2
Component: GHCi | Version: 8.4.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by goldfire):
There's always room for simplification, of course, but I think the room
here is limited. This whole mechanism came into being when `ExpType`s were
introduced. `ExpType`s are "holes" -- places to write a type once we infer
it; they replaced `SigmaTv` tyvars that were used previously. I forget
what aspect of `ExpType`s specifically forced the rewrite of rebindable
syntax, but I do remember that this was more-or-less forced.
The reason for the complication is that we want to allow for the
possibility that `(>>=) :: blah -> (forall x. x -> x) -> wurble`, where
the arguments might have a higher-rank type. This, in turn, requires
skolemization while type-checking. That problem with the current setup is
that the two arguments are checked in the same `thing_inside`, where they
should really be in ''different'' contexts. But that would make the whole
scheme even more complicated.
So I'm a bit stuck really on how you would want to simplify this.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14963#comment:10>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list