@@ -51,6 +51,12 @@ maybe_bind : Maybe a -> (a -> Maybe b) -> Maybe b
51maybe_bind Nothing k = Nothing
51maybe_bind Nothing k = Nothing
52maybe_bind (Just x) k = k x
52maybe_bind (Just x) k = k x
54+instance (Eq a) => Eq (Maybe a) where
55+ Nothing == Nothing = True
56+ Nothing == (Just _) = False
57+ (Just _) == Nothing = False
58+ (Just a) == (Just b) = a == b
54-- | Lift a semigroup into 'Maybe' forming a 'Monoid' according to
60-- | Lift a semigroup into 'Maybe' forming a 'Monoid' according to
55-- <http://en.wikipedia.org/wiki/Monoid>: \"Any semigroup S may be
61-- <http://en.wikipedia.org/wiki/Monoid>: \"Any semigroup S may be
56-- turned into a monoid simply by adjoining an element e not in S
62-- turned into a monoid simply by adjoining an element e not in S