21 Dec
2007
21 Dec
'07
5:04 p.m.
On Dec 21, 2007 11:50 AM, Nicholls, Mark <Nicholls.Mark@mtvne.com> 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 <dave@zednenem.com> <http://www.eyrie.org/~zednenem/>