On Dec 21, 2007 11:50 AM, Nicholls, Mark <[EMAIL PROTECTED]> wrote:
> Now I have....
>
> module Main where
>
> data SquareType numberType = Num numberType => SquareConstructor
> numberType
This is a valid declaration, but I don't think it does what you want it to.
The constraint on numberType applies only to the data constructor.
That is, given an unknown value of type SquareType a for some a, we do not
have enough information to infer Num a.
For your code, you want something like:
instance (Num a) => ShapeInterface (SquareType a) where
area (SquareConstructor side) = side * side
--
Dave Menendez <[EMAIL PROTECTED]>
<http://www.eyrie.org/~zednenem/>
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe