[Haskell-cafe] nice simple problem for someone struggling....

Nicholls, Mark Nicholls.Mark at mtvne.com
Fri Dec 21 12:08:28 EST 2007



You are correct...


I thought from 


"Num numberType => SquareConstructor


We could deduce that (in English rather than get Haskell and FOL


all values of "SquareConstructor a"....the type of a would have be be in
class Num?..

is this not correct?....if not....why not? 



From: d4ve.menendez at gmail.com [mailto:d4ve.menendez at gmail.com] On Behalf
Of David Menendez
Sent: 21 December 2007 17:05
To: Nicholls, Mark
Cc: Jules Bean; haskell-cafe at haskell.org
Subject: Re: [Haskell-cafe] nice simple problem for someone


On Dec 21, 2007 11:50 AM, Nicholls, Mark <Nicholls.Mark at mtvne.com>

	Now I have....
	module Main where
	data SquareType numberType = Num numberType => SquareConstructor

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 at zednenem.com>
<http://www.eyrie.org/~zednenem/ > 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20071221/1675eae9/attachment.htm

More information about the Haskell-Cafe mailing list