control-dsl 0.2.1.2 → 0.2.1.3
raw patch · 3 files changed
+9/−3 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Control.Dsl.Cont: instance Control.Dsl.PolyCont.PolyCont (Control.Dsl.Return.Return r) (Control.Dsl.Cont.Cont r' r) Data.Void.Void
- Control.Dsl.Cont: instance Control.Dsl.PolyCont.PolyCont Control.Dsl.Empty.Empty r Data.Void.Void => Control.Dsl.PolyCont.PolyCont Control.Dsl.Empty.Empty (Control.Dsl.Cont.Cont r a) Data.Void.Void
- Control.Dsl.Cont: type !! = Cont
- Control.Dsl.Empty: instance GHC.Base.Alternative m => Control.Dsl.PolyCont.PolyCont Control.Dsl.Empty.Empty (m a) Data.Void.Void
- Control.Dsl.Return: instance Control.Dsl.PolyCont.PolyCont (Control.Dsl.Return.Return r) r Data.Void.Void
- Control.Dsl.Return: instance GHC.Base.Applicative m => Control.Dsl.PolyCont.PolyCont (Control.Dsl.Return.Return r) (m r) Data.Void.Void
+ Control.Dsl.Cont: instance Control.Dsl.PolyCont.PolyCont (Control.Dsl.Return.Return r) (Control.Dsl.Cont.Cont r' r) GHC.Base.Void
+ Control.Dsl.Cont: instance Control.Dsl.PolyCont.PolyCont Control.Dsl.Empty.Empty r GHC.Base.Void => Control.Dsl.PolyCont.PolyCont Control.Dsl.Empty.Empty (Control.Dsl.Cont.Cont r a) GHC.Base.Void
+ Control.Dsl.Cont: type (!!) = Cont
+ Control.Dsl.Empty: instance GHC.Base.Alternative m => Control.Dsl.PolyCont.PolyCont Control.Dsl.Empty.Empty (m a) GHC.Base.Void
+ Control.Dsl.Return: instance Control.Dsl.PolyCont.PolyCont (Control.Dsl.Return.Return r) r GHC.Base.Void
+ Control.Dsl.Return: instance GHC.Base.Applicative m => Control.Dsl.PolyCont.PolyCont (Control.Dsl.Return.Return r) (m r) GHC.Base.Void
- Control.Dsl: (<=<) :: Dsl k r a => t -> k r a -> a -> r -> t -> r
+ Control.Dsl: (<=<) :: Dsl k r a => (a -> r) -> (t -> k r a) -> t -> r
- Control.Dsl: (=<<) :: Dsl k r a => a -> r -> k r a -> r
+ Control.Dsl: (=<<) :: Dsl k r a => (a -> r) -> k r a -> r
- Control.Dsl: (>=>) :: Dsl k r a => t -> k r a -> a -> r -> t -> r
+ Control.Dsl: (>=>) :: Dsl k r a => (t -> k r a) -> (a -> r) -> t -> r
- Control.Dsl: (>>) :: Dsl k r b => k r b -> r -> r
+ Control.Dsl: (>>) :: Dsl k r a => k r a -> r -> r
- Control.Dsl: (>>=) :: Dsl k r a => k r a -> a -> r -> r
+ Control.Dsl: (>>=) :: Dsl k r a => k r a -> (a -> r) -> r
- Control.Dsl: class Dsl k r a
+ Control.Dsl: class Dsl (k :: Type -> Type -> Type) r a
- Control.Dsl: fail :: PolyCont Return IOError r Void => String -> r
+ Control.Dsl: fail :: PolyCont (Return IOError) r Void => String -> r
- Control.Dsl: ifThenElse :: () => Bool -> p -> p -> p
+ Control.Dsl: ifThenElse :: Bool -> p -> p -> p
- Control.Dsl: return :: PolyCont Return r' r Void => r' -> r
+ Control.Dsl: return :: PolyCont (Return r') r Void => r' -> r
- Control.Dsl: unless :: () => Bool -> Cont r () -> Cont r ()
+ Control.Dsl: unless :: Bool -> Cont r () -> Cont r ()
- Control.Dsl.Cont: Cont :: (a -> r) -> r -> Cont r a
+ Control.Dsl.Cont: Cont :: ((a -> r) -> r) -> Cont r a
- Control.Dsl.Cont: unless :: () => Bool -> Cont r () -> Cont r ()
+ Control.Dsl.Cont: unless :: Bool -> Cont r () -> Cont r ()
- Control.Dsl.Empty: [Empty] :: Empty r Void
+ Control.Dsl.Empty: [Empty] :: forall r. Empty r Void
- Control.Dsl.Monadic: Monadic :: (m a) -> Monadic m r a
+ Control.Dsl.Monadic: Monadic :: m a -> Monadic (m :: Type -> Type) r a
- Control.Dsl.Monadic: newtype Monadic m r a
+ Control.Dsl.Monadic: newtype Monadic (m :: Type -> Type) r a
- Control.Dsl.PolyCont: class PolyCont k r a
+ Control.Dsl.PolyCont: class PolyCont (k :: Type -> Type -> Type) r a
- Control.Dsl.Return: [Return] :: r' -> Return r' r Void
+ Control.Dsl.Return: [Return] :: forall r' r. r' -> Return r' r Void
- Control.Dsl.Return: fail :: PolyCont Return IOError r Void => String -> r
+ Control.Dsl.Return: fail :: PolyCont (Return IOError) r Void => String -> r
- Control.Dsl.Return: return :: PolyCont Return r' r Void => r' -> r
+ Control.Dsl.Return: return :: PolyCont (Return r') r Void => r' -> r
- Control.Dsl.State.Get: [Get] :: forall s r. Get r s
+ Control.Dsl.State.Get: [Get] :: forall a r. Get r a
- Control.Dsl.State.Put: [Put] :: s -> Put s r ()
+ Control.Dsl.State.Put: [Put] :: forall s r. s -> Put s r ()
- Control.Dsl.Yield: [Yield] :: x -> Yield x r ()
+ Control.Dsl.Yield: [Yield] :: forall x r. x -> Yield x r ()
Files
- ChangeLog.md +6/−0
- control-dsl.cabal +2/−2
- src/Control/Dsl/Dsl.hs +1/−1
ChangeLog.md view
@@ -1,3 +1,9 @@+## 0.2.1.3+* Fix the parameter order of `<=<`.++## 0.2.1.2+* Improve documentation.+ ## 0.2.1.1 * Fix dead links in documentation.
control-dsl.cabal view
@@ -2,10 +2,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 3d963a3b297adf76cb7ad8c4341ee909913452fb539ebff4848ba4a18260fbb8+-- hash: 02d3000abf78ee647c13ef74806172f793fb4a899dff1e2a93846efb75b86dbd name: control-dsl-version: 0.2.1.2+version: 0.2.1.3 synopsis: An alternative to monads for control flow DSLs description: This \"control-dsl\" package is a toolkit to create extensible Domain Specific Languages in @do@-notation. .
src/Control/Dsl/Dsl.hs view
@@ -114,7 +114,7 @@ (f >=> g) k = f k >>= g -f <=< g = f >=> g+f <=< g = g >=> f -- | The implementation of statements with no value in a @do@ block. k >> a = cpsApply k $ const a