Data declaration with constraint

From HaskellWiki
Revision as of 17:35, 21 December 2007 by Lemming (talk | contribs) (short introduction with reference to current discussion)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Problem

Question

I have declared

data T a  =  C a => Cons a

and I hoped that now the type checker knows, that every value of type T a satisfies the type constraint on a.

Answer

Only functions can have type constraints. The type constraint of a data only refers to the constructors. The designers of Haskell 98 do now think, that it was a bad decision to allow constraints on constructors.

Solution

But how can one bake type constraints into a type ? ...


See also