#1768: More flexible type signatures for data constructors
------------------------------+---------------------------------------------
Reporter: simonpj | Owner:
Type: feature request | Status: new
Priority: low | Milestone: _|_
Component: Compiler | Version: 6.6.1
Severity: normal | Keywords:
Difficulty: Unknown | Os: Unknown
Testcase: | Architecture: Unknown
------------------------------+---------------------------------------------
See [http://article.gmane.org/gmane.comp.lang.haskell.cafe/29409], and the
rest of the thread. The idea is to allow data constructor declarations to
have things like this:
{{{
type Foo = Int -> Bool -> T
data T where
C :: Foo
}}}
This is a silly example, but the idea is not to require the arrows to be
all visible at top level, and to allow the result type to be something
other than visibly `T` itself.
I'm recording this as a feature request, since it came up on Haskell Cafe,
but I'm not sure that I like it. The type signatures in data type
declarations are pretty special: notably, they allow record syntax, and
support strictness annotations.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1768>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs