
21 Feb
2006
21 Feb
'06
11:37 p.m.
On 2/22/06, Ashley Yakeley
Josef Svenningsson wrote:
This is one of the things that the Clean people got right. In Clean, my examples from above would look like:
class MonadPlus m | Monad m where ...
class Ix a | Ord a where ..
instance Eq (Ratio a) | Integral a where ...
Not quite the same complaint, but I've always been bothered by the inconsistent use of "=>". I would prefer "A => B" to mean "if A, then B". Accordingly:
class Monad m <= MonadPlus m
By your definition, couldn't what we have now (class Monad m => MonadPlus m) be read as "If m is in the Monad class, then the class MonadPlus can be defined for m thusly:...", which seems pretty clear to me. /S -- Sebastian Sylvan +46(0)736-818655 UIN: 44640862