Felipe Lessa wrote:
On Dec 18, 2007 7:51 AM, Jules Bean <[EMAIL PROTECTED]> wrote:
class Shape a where {
intersect :: Shape b => a -> b -> Bool
}
Shouldn't this be
class Shape a where
....whatever....
class (Shape a, Shape b) => Intersectable a b where
intersect :: a -> b -> Bool
With your definition I don't see how you could make it work, as you
would have to write a function that takes care of this shape
intersecting with any other shape, but this is exactly the problem the
classes should solve!
Yes, that's a better solution, certainly. MPTCs are not haskell though
:P I'm half joking, but there are solutions which don't involve
non-standard extensions even ones as popular as MPTCs.
I didn't really think mine was particularly useful, just pointing out
the design space, and in particular the precise parallel between the
classes approach and the explicit dictionary approach.
Jules
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe