The current definition says that some and many should be the least
solutions of the equations
some v = (:) <$> v <*> many v
many v = some v <|> pure []
We could relax that to just requiring that they satisfy these equations
(which I think is what John wants). In that case there would be another
possible definition for Maybe:
some Nothing = Nothing
some (Just x) = Just (repeat x)
many Nothing = Just []
many (Just x) = Just (repeat x)
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe