reader 0.0.5 → 0.0.6
raw patch · 6 files changed
+44/−24 lines, 6 files
Files
- changelog.md +4/−0
- reader.cabal +2/−2
- src/Data/Reader/Reader.hs +11/−8
- src/Data/Reader/Reader1.hs +9/−5
- src/Data/Reader/Reader2.hs +9/−4
- src/Data/Reader/Reader3.hs +9/−5
changelog.md view
@@ -1,3 +1,7 @@+0.0.6++* More generalising+ 0.0.5 * Rename `downReader` to `liftReader`.
reader.cabal view
@@ -1,12 +1,12 @@ name: reader-version: 0.0.5+version: 0.0.6 synopsis: 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ɐɥ> maintainer: Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ>-copyright: Copyright (C) 2021-2015 Tony Morris+copyright: Copyright (C) 2021-2025 Tony Morris category: Test build-type: Simple extra-source-files: changelog.md
src/Data/Reader/Reader.hs view
@@ -6,8 +6,7 @@ module Data.Reader.Reader where import Control.Applicative ( Applicative(pure) )-import Control.Arrow- ( Kleisli(Kleisli) )+import Control.Arrow ( Kleisli ) import Control.Category ( Category(..) ) import Control.Lens ( _Wrapped,@@ -18,7 +17,7 @@ Iso, Rewrapped, Wrapped(Unwrapped) )-import Data.Profunctor ( Star(Star) )+import Data.Profunctor ( Star ) -- | --@@ -74,9 +73,7 @@ (Rewrapped a a, Rewrapped s s, Unwrapped a ~ (d1 -> f2 c1), Unwrapped s ~ (d2 -> f3 c2)) => Iso (Star f2 d1 c1) (Star f3 d2 c2) a s star =- iso- (\(Star k) -> review _Wrapped k)- (Star . view _Wrapped)+ reader' -- | --@@ -85,6 +82,12 @@ (Rewrapped a1 a1, Rewrapped s s, Unwrapped a1 ~ (a2 -> m1 b1), Unwrapped s ~ (a3 -> m2 b2)) => Iso (Kleisli m1 a2 b1) (Kleisli m2 a3 b2) a1 s kleisli =+ reader'++reader' ::+ (Rewrapped s s, Rewrapped t t, Rewrapped a a, Rewrapped b b, Unwrapped b ~ Unwrapped t, Unwrapped a ~ Unwrapped s) =>+ Iso s t a b+reader' = iso- (\(Kleisli k) -> review _Wrapped k)- (Kleisli . view _Wrapped)+ (review _Wrapped . view _Wrapped)+ (review _Wrapped . view _Wrapped)
src/Data/Reader/Reader1.hs view
@@ -28,7 +28,7 @@ ( LensLike, view, iso, review, over, _Wrapped, Iso, Rewrapped, Wrapped(..) ) import Control.Monad ( Monad(return, (>>=)), MonadPlus(..) )-import qualified Control.Monad.Reader as Reader(ReaderT(ReaderT))+import qualified Control.Monad.Reader as Reader( ReaderT ) import Control.Monad.Reader.Class ( MonadReader ) import qualified Control.Monad.Reader.Class as Reader ( MonadReader(..) ) import Control.Monad.State.Class ( MonadState(..) )@@ -51,7 +51,13 @@ import Data.Monoid(Monoid(mempty)) import Data.Profunctor ( Star ) import Data.Reader.Reader- ( pureReader, homReader, reader, readerLens, star, kleisli )+ ( pureReader,+ homReader,+ reader,+ readerLens,+ star,+ kleisli,+ reader' ) import Data.Semigroup ( Semigroup((<>)) ) newtype Reader1T a f b =@@ -98,9 +104,7 @@ (Reader1T a f b) (Reader1T a' f' b') reader1' =- iso- (\(Reader.ReaderT k) -> Reader1T k)- (\(Reader1T k) -> Reader.ReaderT k)+ reader' star1 :: Iso
src/Data/Reader/Reader2.hs view
@@ -37,7 +37,7 @@ ( LensLike, view, iso, review, over, _Wrapped, Iso, Rewrapped, Wrapped(..) ) import Control.Monad ( Monad(return, (>>=)), sequence, MonadPlus(..), (>=>) )-import qualified Control.Monad.Reader as Reader(ReaderT(ReaderT))+import qualified Control.Monad.Reader as Reader( ReaderT ) import Control.Monad.Reader.Class ( MonadReader ) import qualified Control.Monad.Reader.Class as Reader ( MonadReader(..) ) import Control.Monad.State.Class ( MonadState(..) )@@ -69,6 +69,13 @@ Cochoice(unright) ) import Data.Profunctor.Traversing ( Traversing(..) ) import Data.Reader.Reader+ ( pureReader,+ homReader,+ reader,+ readerLens,+ star,+ kleisli,+ reader' ) import Data.Semigroup ( Semigroup((<>)) ) import Data.Semigroupoid ( Semigroupoid(..) ) import Data.Traversable ( Traversable(traverse) )@@ -105,9 +112,7 @@ (Reader2T f a b) (Reader2T f' a' b') reader2' =- iso- (\(Reader.ReaderT k) -> Reader2T k)- (\(Reader2T k) -> Reader.ReaderT k)+ reader' type Reader2Lens f s t a b = Reader2T f a b
src/Data/Reader/Reader3.hs view
@@ -26,7 +26,7 @@ import Control.Category ( Category(..) ) import Control.Lens ( LensLike, view, iso, review, over, _Wrapped, Iso, Rewrapped, Wrapped(..) )-import qualified Control.Monad.Reader as Reader(ReaderT(ReaderT))+import qualified Control.Monad.Reader as Reader( ReaderT ) import Data.Either ( either ) import Data.Functor.Apply ( Apply(liftF2) ) import Data.Functor.Contravariant ( Contravariant(contramap) )@@ -36,7 +36,13 @@ import Data.Profunctor ( Star ) import Data.Monoid(Monoid(mempty, mappend)) import Data.Reader.Reader- ( pureReader, homReader, reader, readerLens, star, kleisli )+ ( pureReader,+ homReader,+ reader,+ readerLens,+ star,+ kleisli,+ reader' ) import Data.Semigroup ( Semigroup((<>)) ) import Data.Void ( absurd ) @@ -71,9 +77,7 @@ (Reader3T f b a) (Reader3T f' b' a') reader3' =- iso- (\(Reader.ReaderT k) -> Reader3T k)- (\(Reader3T k) -> Reader.ReaderT k)+ reader' type Reader3Lens f s t a b = Reader3T f b a