[GHC] #11405: Incorrect failure of type-level skolem escape check
GHC
ghc-devs at haskell.org
Mon Jan 11 20:58:16 UTC 2016
#11405: Incorrect failure of type-level skolem escape check
-------------------------------------+-------------------------------------
Reporter: goldfire | Owner: goldfire
Type: bug | Status: new
Priority: highest | Milestone: 8.0.1
Component: Compiler | Version: 8.0.1-rc1
Resolution: | Keywords: TypeInType
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 gridaphobe):
Is it just a problem because of `x0`, ie would
{{{
x = \ @(v :: Levity) @(a :: TYPE v) ($dict :: (?callStack :: CallStack))
->
let $dict' = ... in
undefined @v @a $dict'
}}}
be OK? If so, can we change the desugarer to not generate the intermediate
binder when there's only one use and no recursion? I'm not sure that would
be a general fix, but it would fix the immediate problem.
(Also, why are levity-polymorphic binders not allowed? Is this explained
somewhere? Just curious.)
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11405#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list