
#12928: Too easy to trigger CUSK condition using TH -------------------------------------+------------------------------------- Reporter: int-index | Owner: Type: feature request | Status: new Priority: high | Milestone: Component: Compiler (Type | Version: 8.0.1 checker) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj):
How come we don't have a notion of "complete user-supplied type" to support polymorphic recursion at term level and still retain type inference?
We do! It's called a type signature. An alternative to the CUSK thing would be to provide for kind siguatures; e.g. {{{ type D :: (* -> *) -> * type D f = f Int }}} We didn't do that because at the time it seemed more syntactically invasive. But it'd make it all much clearer. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12928#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler