packages feed

generic-maybe 0.1.0.1 → 0.1.1.0

raw patch · 2 files changed

+14/−14 lines, 2 files

Files

generic-maybe.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                generic-maybe-version:             0.1.0.1+version:             0.1.1.0 synopsis:            A generic version of Data.Maybe description:  This module is a drop in replacement for 'Data.Maybe'. It generalizes@@ -20,10 +20,10 @@  After which you can use the functions, like your type was 'Data.Maybe.Maybe'  .  >> fromMaybe 'a' Fail- >Success 'a'+ >'a'  .   >> fromMaybe 'a' $ Success 'b'- >Success 'b'+ >'b' homepage:            https://github.com/jfischoff/generic-maybe license:             BSD3 license-file:        LICENSE
src/Generics/Maybe.hs view
@@ -75,32 +75,32 @@ -- > fromMaybe :: a -> Maybe a -> Maybe a -- -- >>> fromMaybe 'a' Nothing--- Just 'a'+-- 'a' --  -- >>> fromMaybe 'a' $ Just 'b'--- Just 'b'+-- 'b' --  -- >>> fromMaybe 'a' Fail--- Success 'a'+-- 'a' --  -- >>> fromMaybe 'a' $ Success 'b'--- Success 'b'+-- 'b' --  -- >>> fromMaybe Zero Zero--- Succ Zero+-- Zero --  -- >>> fromMaybe Zero $ Succ (Succ Zero)--- Succ (Succ Zero)+-- Succ Zero fromMaybe :: MaybeLike maybe a d u m b y-          => a -> maybe -> maybe-fromMaybe x = over gsimple (fromMaybe' x) +          => a -> maybe -> a+fromMaybe x = fromMaybe' x . view gsimple   fromMaybe' :: a             -> (U1 :+: Rec0 a) b-           -> (U1 :+: Rec0 a) b+           -> a fromMaybe' def = \case -   L1 U1 -> R1 $ K1 def-   x     -> x +   L1 U1 -> def+   R1 (K1 x)     -> x  -- | A generalized version of 'Data.Maybe.maybe'  -- -- > maybe :: b -> (a -> b) -> Maybe a -> Maybe b