
Simon Hengel
Hi, I propose to add isLeft/isRight to Data.Either, with the obvious definitions:
isLeft :: Either a b -> Bool isLeft (Left _) = True isLeft (Right _) = False
isRight :: Either a b -> Bool isRight (Left _) = False isRight (Right _) = True
There has been a discussion on that before [1]. While I agree that fromLeft/fromRight are moot, I don't see issues with isLeft/isRight.
Personally I care mostly about isLeft, but for orthogonality I propose to add both isLeft and isRight.
+1 btw, what I've been missing even more than isLeft/isRight is something like leftMaybe :: Either a b -> Maybe a leftMaybe (Left x) = Just x leftMaybe _ = Nothing rightMaybe :: Either a b -> Maybe b rightMaybe (Right x) = Just x rightMaybe _ = Nothing cheers, hvr