initial commit

This commit is contained in:
Stephen Diehl
2016-04-07 15:22:44 -04:00
commit 29b854cf98
15 changed files with 656 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
module P.Either (
maybeToLeft
, maybeToRight
, leftToMaybe
, rightToMaybe
, maybeToEither
) where
leftToMaybe :: Either l r -> Maybe l
leftToMaybe = either Just (const Nothing)
rightToMaybe :: Either l r -> Maybe r
rightToMaybe = either (const Nothing) Just
maybeToRight :: l -> Maybe r -> Either l r
maybeToRight l = maybe (Left l) Right
maybeToLeft :: r -> Maybe l -> Either l r
maybeToLeft r = maybe (Right r) Left
maybeToEither :: Monoid b => Maybe a -> Either b a
maybeToEither = maybe mempty