imperative-edsl 0.7 → 0.7.1
raw patch · 2 files changed
+5/−4 lines, 2 filesdep ~language-c-quotedep ~mainland-prettynew-uploaderPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: language-c-quote, mainland-pretty
API changes (from Hackage documentation)
- Language.Embedded.Concurrent.CMD: instance forall k2 (instr :: (* -> *, (* -> *, (k2, *))) -> * -> *) env. (Language.Embedded.Concurrent.CMD.ThreadCMD Data.ALaCarte.:<: instr) => Control.Monad.Operational.Higher.Reexpressible Language.Embedded.Concurrent.CMD.ThreadCMD instr env
- Language.Embedded.Concurrent.CMD: instance forall k2 (pred :: k2). Control.Monad.Operational.Higher.InterpBi Language.Embedded.Concurrent.CMD.ThreadCMD GHC.Types.IO (Data.ALaCarte.Param1 pred)
- Language.Embedded.Imperative.CMD: instance (GHC.Show.Show i, GHC.Show.Show a, GHC.Arr.Ix i) => GHC.Show.Show (Language.Embedded.Imperative.CMD.IArr i a)
- Language.Embedded.Imperative.CMD: instance forall k k2 (instr :: (* -> *, (k -> *, (k2, *))) -> * -> *) env. (Language.Embedded.Imperative.CMD.PtrCMD Data.ALaCarte.:<: instr) => Control.Monad.Operational.Higher.Reexpressible Language.Embedded.Imperative.CMD.PtrCMD instr env
- Language.Embedded.Imperative.CMD: instance forall k2 (pred :: k2). Control.Monad.Operational.Higher.InterpBi Language.Embedded.Imperative.CMD.PtrCMD GHC.Types.IO (Data.ALaCarte.Param1 pred)
+ Language.Embedded.Concurrent.CMD: instance forall k (instr :: (* -> *, (* -> *, (k, *))) -> * -> *) env. (Language.Embedded.Concurrent.CMD.ThreadCMD Data.ALaCarte.:<: instr) => Control.Monad.Operational.Higher.Reexpressible Language.Embedded.Concurrent.CMD.ThreadCMD instr env
+ Language.Embedded.Concurrent.CMD: instance forall k (pred :: k). Control.Monad.Operational.Higher.InterpBi Language.Embedded.Concurrent.CMD.ThreadCMD GHC.Types.IO (Data.ALaCarte.Param1 pred)
+ Language.Embedded.Imperative.CMD: instance (GHC.Show.Show a, GHC.Show.Show i, GHC.Arr.Ix i) => GHC.Show.Show (Language.Embedded.Imperative.CMD.IArr i a)
+ Language.Embedded.Imperative.CMD: instance forall k (pred :: k). Control.Monad.Operational.Higher.InterpBi Language.Embedded.Imperative.CMD.PtrCMD GHC.Types.IO (Data.ALaCarte.Param1 pred)
+ Language.Embedded.Imperative.CMD: instance forall k k1 (instr :: (* -> *, (k -> *, (k1, *))) -> * -> *) env. (Language.Embedded.Imperative.CMD.PtrCMD Data.ALaCarte.:<: instr) => Control.Monad.Operational.Higher.Reexpressible Language.Embedded.Imperative.CMD.PtrCMD instr env
- Language.Embedded.Backend.C: def :: a
+ Language.Embedded.Backend.C: def :: Default a => a
- Language.Embedded.Imperative: class (:<:) k k1 (sub :: k -> k1 -> *) (sup :: k -> k1 -> *)
+ Language.Embedded.Imperative: class (:<:) k k1 (sub :: k1 -> k -> *) (sup :: k1 -> k -> *)
- Language.Embedded.Imperative: data (:+:) k k1 (h1 :: k -> k1 -> *) (h2 :: k -> k1 -> *) (fs :: k) (a :: k1) :: forall k k1. (k -> k1 -> *) -> (k -> k1 -> *) -> k -> k1 -> *
+ Language.Embedded.Imperative: data (:+:) k k1 (h1 :: k1 -> k -> *) (h2 :: k1 -> k -> *) (fs :: k1) (a :: k) :: forall k k1. (k1 -> k -> *) -> (k1 -> k -> *) -> k1 -> k -> *
- Language.Embedded.Imperative: interpret :: (Interp k * i m fs, HFunctor * * k i, Monad m) => Program k i fs a -> m a
+ Language.Embedded.Imperative: interpret :: (Interp * k i m fs, HFunctor * * k i, Monad m) => Program k i fs a -> m a
- Language.Embedded.Imperative: interpretBi :: (InterpBi k * i m fs, HBifunctor * * k i, Functor m, Monad m) => (forall b. exp b -> m b) -> Program (* -> *, k) i ((,) (* -> *) k exp fs) a -> m a
+ Language.Embedded.Imperative: interpretBi :: (InterpBi * k i m fs, HBifunctor * * k i, Functor m, Monad m) => (forall b. exp b -> m b) -> Program (* -> *, k) i ((,) (* -> *) k exp fs) a -> m a
- Language.Embedded.Imperative: interpretBiT :: (InterpBi k * i m fs, HBifunctor * * k i, Functor m, Monad m, Monad n) => (forall b. exp b -> m b) -> (forall b. n b -> m b) -> ProgramT (* -> *, k) i ((,) (* -> *) k exp fs) n a -> m a
+ Language.Embedded.Imperative: interpretBiT :: (InterpBi * k i m fs, HBifunctor * * k i, Functor m, Monad m, Monad n) => (forall b. exp b -> m b) -> (forall b. n b -> m b) -> ProgramT (* -> *, k) i ((,) (* -> *) k exp fs) n a -> m a
- Language.Embedded.Imperative: interpretT :: (Interp k * i m fs, HFunctor * * k i, Monad m) => (forall b. n b -> m b) -> ProgramT k i fs n a -> m a
+ Language.Embedded.Imperative: interpretT :: (Interp * k i m fs, HFunctor * * k i, Monad m) => (forall b. n b -> m b) -> ProgramT k i fs n a -> m a
- Language.Embedded.Imperative: type Param2 k k1 (a :: k) (b :: k1) = (,) k (k1, *) a (Param1 k1 b)
+ Language.Embedded.Imperative: type Param2 k k1 (a :: k1) (b :: k) = (,) k1 (k, *) a (Param1 k b)
- Language.Embedded.Imperative: type Param3 k k1 k2 (a :: k) (b :: k1) (c :: k2) = (,) k (k1, (k2, *)) a (Param2 k1 k2 b c)
+ Language.Embedded.Imperative: type Param3 k k1 k2 (a :: k2) (b :: k1) (c :: k) = (,) k2 (k1, (k, *)) a (Param2 k k1 b c)
Files
- imperative-edsl.cabal +4/−4
- src/Language/C/Monad.hs +1/−0
imperative-edsl.cabal view
@@ -1,5 +1,5 @@ name: imperative-edsl-version: 0.7+version: 0.7.1 synopsis: Deep embedding of imperative programs with code generation description: Deep embedding of imperative programs with code generation. .@@ -10,7 +10,7 @@ license: BSD3 license-file: LICENSE author: Anders Persson, Emil Axelsson, Markus Aronsson-maintainer: emax@chalmers.se+maintainer: 78emil@gmail.com copyright: Copyright (c) 2016 Anton Ekblad, Emil Axelsson, Máté Karácsony Copyright (c) 2015 Anders Persson, Anton Ekblad, Emil Axelsson, Markus Aronsson, Josef Svenningsson@@ -92,8 +92,8 @@ directory, exception-transformers, ghc-prim,- language-c-quote >= 0.11.5 && < 0.12,- mainland-pretty >= 0.4 && < 0.5,+ language-c-quote >= 0.11.5 && < 0.13,+ mainland-pretty >= 0.4 && < 0.7, microlens >= 0.3.0.0, microlens-mtl >= 0.1.8, microlens-th,
src/Language/C/Monad.hs view
@@ -109,6 +109,7 @@ import qualified Data.Set as Set import Data.Monoid import Text.PrettyPrint.Mainland+import Text.PrettyPrint.Mainland.Class import Data.Loc import Data.List (partition,nub)