reader 0.0.3 → 0.0.4
raw patch · 5 files changed
+42/−3 lines, 5 files
Files
- changelog.md +4/−0
- reader.cabal +1/−1
- src/Data/Reader/Reader1.hs +12/−0
- src/Data/Reader/Reader2.hs +12/−1
- src/Data/Reader/Reader3.hs +13/−1
changelog.md view
@@ -1,3 +1,7 @@+0.0.4++* Add `downReader` functions.+ 0.0.3 * Add `homReader` functions.
reader.cabal view
@@ -1,5 +1,5 @@ name: reader-version: 0.0.3+version: 0.0.4 synopsis: A reader data type with all the bits description: A reader data type with all the bits and type constructor rearrangements license: BSD3
src/Data/Reader/Reader1.hs view
@@ -15,6 +15,7 @@ , reader1' , star1 , kleisli1+, downReader1 , homReader1 ) where @@ -123,6 +124,17 @@ iso (\(Kleisli k) -> Reader1T k) (\(Reader1T k) -> Kleisli k)++downReader1 ::+ Iso+ (Reader1T a f b)+ (Reader1T a' f' b')+ (Reader1 a (f b))+ (Reader1 a' (f' b'))+downReader1 =+ iso+ (review reader1 . view _Wrapped)+ (review _Wrapped . view reader1) homReader1 :: (forall x. f x -> g x)
src/Data/Reader/Reader2.hs view
@@ -16,10 +16,10 @@ , reader2' , star2 , kleisli2+, downReader2 , homReader2 ) where -import Data.Type.Equality import Control.Applicative ( Applicative((<*>), pure), Alternative((<|>), empty) ) import Control.Arrow@@ -144,6 +144,17 @@ iso (\(Kleisli k) -> Reader2T k) (\(Reader2T k) -> Kleisli k)++downReader2 ::+ Iso+ (Reader2T f a b)+ (Reader2T f' a' b')+ (Reader2 a (f b))+ (Reader2 a' (f' b'))+downReader2 =+ iso+ (review reader2 . view _Wrapped)+ (review _Wrapped . view reader2) homReader2 :: (forall x. f x -> g x)
src/Data/Reader/Reader3.hs view
@@ -15,9 +15,10 @@ , reader3' , star3 , kleisli3+, downReader3 , homReader3 ) where-import Data.Type.Equality+ import Control.Applicative ( Applicative(pure), liftA2 ) import Control.Arrow@@ -111,6 +112,17 @@ iso (\(Kleisli k) -> Reader3T k) (\(Reader3T k) -> Kleisli k)++downReader3 ::+ Iso+ (Reader3T f b a)+ (Reader3T f' b' a')+ (Reader3 a (f b))+ (Reader3 a' (f' b'))+downReader3 =+ iso+ (review reader3 . view _Wrapped)+ (review _Wrapped . view reader3) homReader3 :: (forall x. f x -> g x)