Personal tools

Data declaration with constraint

From HaskellWiki

Revision as of 17:36, 21 December 2007 by Lemming (Talk | contribs)

Jump to: navigation, search

Contents

1 Problem

1.1 Question

I have declared

data C a  =>  T 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
.

1.2 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.

2 Solution

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


3 See also