packages feed

extra 1.4.12 → 1.5

raw patch · 4 files changed

+24/−19 lines, 4 filesdep ~basePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base

API changes (from Hackage documentation)

- Data.Either.Extra: fromLeft :: Either l r -> l
+ Data.Either.Extra: fromLeft :: a -> Either a b -> a
- Data.Either.Extra: fromRight :: Either l r -> r
+ Data.Either.Extra: fromRight :: b -> Either a b -> b
- Extra: fromLeft :: Either l r -> l
+ Extra: fromLeft :: a -> Either a b -> a
- Extra: fromRight :: Either l r -> r
+ Extra: fromRight :: b -> Either a b -> b

Files

CHANGES.txt view
@@ -1,5 +1,7 @@ Changelog for Extra +1.5+    Change fromLeft/fromRight signatures to follow the base libraries 1.4.12     Add writeVar 1.4.11
extra.cabal view
@@ -1,7 +1,7 @@ cabal-version:      >= 1.10 build-type:         Simple name:               extra-version:            1.4.12+version:            1.5 license:            BSD3 license-file:       LICENSE category:           Development
src/Data/Either/Extra.hs view
@@ -11,23 +11,26 @@  import Data.Either --- | The 'fromLeft' function extracts the element out of a 'Left' and---   throws an error if its argument is 'Right'.---   Much like 'fromJust', using this function in polished code is usually a bad idea.++#if __GLASGOW_HASKELL__ < 801++-- | Return the contents of a 'Left'-value or a default value otherwise. ----- > \x -> fromLeft (Left  x) == x--- > \x -> fromLeft (Right x) == undefined-fromLeft :: Either l r -> l-fromLeft (Left x) = x+-- > fromLeft 1 (Left 3) == 3+-- > fromLeft 1 (Right "foo") == 1+fromLeft :: a -> Either a b -> a+fromLeft _ (Left a) = a+fromLeft a _        = a --- | The 'fromRight' function extracts the element out of a 'Right' and---   throws an error if its argument is 'Left'.---   Much like 'fromJust', using this function in polished code is usually a bad idea.+-- | Return the contents of a 'Right'-value or a default value otherwise. ----- > \x -> fromRight (Right x) == x--- > \x -> fromRight (Left  x) == undefined-fromRight :: Either l r -> r-fromRight (Right x) = x+-- > fromRight 1 (Right 3) == 3+-- > fromRight 1 (Left "foo") == 1+fromRight :: b -> Either a b -> b+fromRight _ (Right b) = b+fromRight b _         = b++#endif  #if __GLASGOW_HASKELL__ < 708 -- | Test if an 'Either' value is the 'Left' constructor.
test/TestGen.hs view
@@ -49,10 +49,10 @@     testGen "findM (Just . isUpper) \"teST\"             == Just (Just 'S')" $ findM (Just . isUpper) "teST"             == Just (Just 'S')     testGen "findM (Just . isUpper) \"test\"             == Just Nothing" $ findM (Just . isUpper) "test"             == Just Nothing     testGen "findM (Just . const True) [\"x\",undefined] == Just (Just \"x\")" $ findM (Just . const True) ["x",undefined] == Just (Just "x")-    testGen "\\x -> fromLeft (Left  x) == x" $ \x -> fromLeft (Left  x) == x-    testGen "\\x -> fromLeft (Right x) == undefined" $ \x -> erroneous $ fromLeft (Right x)-    testGen "\\x -> fromRight (Right x) == x" $ \x -> fromRight (Right x) == x-    testGen "\\x -> fromRight (Left  x) == undefined" $ \x -> erroneous $ fromRight (Left  x)+    testGen "fromLeft 1 (Left 3) == 3" $ fromLeft 1 (Left 3) == 3+    testGen "fromLeft 1 (Right \"foo\") == 1" $ fromLeft 1 (Right "foo") == 1+    testGen "fromRight 1 (Right 3) == 3" $ fromRight 1 (Right 3) == 3+    testGen "fromRight 1 (Left \"foo\") == 1" $ fromRight 1 (Left "foo") == 1     testGen "\\x -> fromEither (Left x ) == x" $ \x -> fromEither (Left x ) == x     testGen "\\x -> fromEither (Right x) == x" $ \x -> fromEither (Right x) == x     testGen "\\xs -> repeatedly (splitAt 3) xs  == chunksOf 3 xs" $ \xs -> repeatedly (splitAt 3) xs  == chunksOf 3 xs