reader 0.0.2 → 0.0.3
raw patch · 5 files changed
+33/−3 lines, 5 files
Files
- changelog.md +4/−0
- reader.cabal +2/−2
- src/Data/Reader/Reader1.hs +9/−0
- src/Data/Reader/Reader2.hs +9/−0
- src/Data/Reader/Reader3.hs +9/−1
changelog.md view
@@ -1,3 +1,7 @@+0.0.3++* Add `homReader` functions.+ 0.0.2 * Widen version bounds
reader.cabal view
@@ -1,7 +1,7 @@ name: reader-version: 0.0.2+version: 0.0.3 synopsis: A reader data type with all the bits-description: A reader data type with all the bits+description: A reader data type with all the bits and type constructor rearrangements license: BSD3 license-file: LICENCE author: Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ>
src/Data/Reader/Reader1.hs view
@@ -4,6 +4,7 @@ {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-}+{-# LANGUAGE RankNTypes #-} module Data.Reader.Reader1( Reader1T(..)@@ -14,6 +15,7 @@ , reader1' , star1 , kleisli1+, homReader1 ) where import Control.Applicative@@ -121,6 +123,13 @@ iso (\(Kleisli k) -> Reader1T k) (\(Reader1T k) -> Kleisli k)++homReader1 ::+ (forall x. f x -> g x)+ -> Reader1T a f b+ -> Reader1T a g b+homReader1 f =+ over _Wrapped (f .) instance Functor f => Functor (Reader1T a f) where fmap f (Reader1T g) =
src/Data/Reader/Reader2.hs view
@@ -5,6 +5,7 @@ {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-}+{-# LANGUAGE RankNTypes #-} module Data.Reader.Reader2( Reader2T(..)@@ -15,6 +16,7 @@ , reader2' , star2 , kleisli2+, homReader2 ) where import Data.Type.Equality@@ -142,6 +144,13 @@ iso (\(Kleisli k) -> Reader2T k) (\(Reader2T k) -> Kleisli k)++homReader2 ::+ (forall x. f x -> g x)+ -> Reader2T f a b+ -> Reader2T g a b+homReader2 f =+ over _Wrapped (f .) instance Functor f => Functor (Reader2T f a) where fmap f (Reader2T g) =
src/Data/Reader/Reader3.hs view
@@ -4,6 +4,7 @@ {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-}+{-# LANGUAGE RankNTypes #-} module Data.Reader.Reader3( Reader3T(..)@@ -14,8 +15,8 @@ , reader3' , star3 , kleisli3+, homReader3 ) where- import Data.Type.Equality import Control.Applicative ( Applicative(pure), liftA2 )@@ -110,6 +111,13 @@ iso (\(Kleisli k) -> Reader3T k) (\(Reader3T k) -> Kleisli k)++homReader3 ::+ (forall x. f x -> g x)+ -> Reader3T f b a+ -> Reader3T g b a+homReader3 f =+ over _Wrapped (f .) instance Contravariant (Reader3T f b) where contramap f =