imperative-edsl 0.8 → 0.8.1
raw patch · 1 files changed
+17/−17 lines, 1 filesdep ~BoundedChandep ~arraydep ~containersPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: BoundedChan, array, containers, data-default-class, deepseq, directory, exception-transformers, ghc-prim, mainland-pretty, microlens, microlens-mtl, microlens-th, mtl, process, srcloc, time
API changes (from Hackage documentation)
- Language.Embedded.CExp: pattern NonLitP' :: forall a. () => () => ASTF T a
- Language.Embedded.CExp: pattern NonLitP :: forall a. () => () => CExp a
- Language.Embedded.Imperative: data (:+:) (h1 :: k -> k1 -> Type) (h2 :: k -> k1 -> Type) (fs :: k) (a :: k1) :: forall k k1. () => k -> k1 -> Type -> k -> k1 -> Type -> k -> k1 -> Type
- Language.Embedded.Imperative.CMD: instance (GHC.Arr.Ix i, GHC.Show.Show i, GHC.Show.Show a) => GHC.Show.Show (Language.Embedded.Imperative.CMD.IArr i a)
- Language.Embedded.Imperative.Frontend: instance (Language.Embedded.Imperative.CMD.FileCMD Data.ALaCarte.:<: instr, a Data.Type.Equality.~ ()) => Language.Embedded.Imperative.Frontend.PrintfType (Control.Monad.Operational.Higher.ProgramT instr (Data.ALaCarte.Param2 exp pred) m a)
- Language.Embedded.Imperative.Frontend: instance (Language.Embedded.Imperative.CMD.Formattable a, Language.Embedded.Imperative.Frontend.PrintfType r, exp Data.Type.Equality.~ Language.Embedded.Imperative.Frontend.PrintfExp r) => Language.Embedded.Imperative.Frontend.PrintfType (exp a -> r)
+ Language.Embedded.CExp: pattern NonLitP :: CExp a
+ Language.Embedded.CExp: pattern NonLitP' :: ASTF T a
+ Language.Embedded.Imperative: data ProgramT (instr :: (Type -> Type, k) -> Type -> Type) (fs :: k) (m :: Type -> Type) a
+ Language.Embedded.Imperative.CMD: instance (GHC.Ix.Ix i, GHC.Show.Show i, GHC.Show.Show a) => GHC.Show.Show (Language.Embedded.Imperative.CMD.IArr i a)
+ Language.Embedded.Imperative.Frontend: instance (Language.Embedded.Imperative.CMD.FileCMD Data.ALaCarte.:<: instr, a GHC.Types.~ ()) => Language.Embedded.Imperative.Frontend.PrintfType (Control.Monad.Operational.Higher.ProgramT instr (Data.ALaCarte.Param2 exp pred) m a)
+ Language.Embedded.Imperative.Frontend: instance (Language.Embedded.Imperative.CMD.Formattable a, Language.Embedded.Imperative.Frontend.PrintfType r, exp GHC.Types.~ Language.Embedded.Imperative.Frontend.PrintfExp r) => Language.Embedded.Imperative.Frontend.PrintfType (exp a -> r)
- Language.Embedded.CExp: pattern OpP' :: forall sig. () => forall a a1 a2 b c. (CType (DenResult (a1 :-> (a :-> sig))), (a1 :-> (a :-> sig)) ~# (a2 :-> (b :-> Full c))) => Binary (a2 -> b -> c) -> AST T (Full a1) -> AST T (Full a) -> AST T sig
+ Language.Embedded.CExp: pattern OpP' :: forall sig a1 a2 a3 b c. () => (CType (DenResult (a2 :-> (a1 :-> sig))), (a2 :-> (a1 :-> sig)) ~ (a3 :-> (b :-> Full c))) => Binary (a3 -> b -> c) -> AST T (Full a2) -> AST T (Full a1) -> AST T sig
- Language.Embedded.CExp: pattern UOpP' :: forall sig. () => forall a a1 b. (CType (DenResult (a :-> sig)), (a :-> sig) ~# (a1 :-> Full b)) => Unary (a1 -> b) -> AST T (Full a) -> AST T sig
+ Language.Embedded.CExp: pattern UOpP' :: forall sig a1 a2 b. () => (CType (DenResult (a1 :-> sig)), (a1 :-> sig) ~ (a2 :-> Full b)) => Unary (a2 -> b) -> AST T (Full a1) -> AST T sig
- Language.Embedded.CExp: pattern LitP' :: forall sig. () => forall a. (CType (DenResult sig), sig ~# Full a) => a -> AST T sig
+ Language.Embedded.CExp: pattern LitP' :: forall sig a. () => (CType (DenResult sig), sig ~ Full a) => a -> AST T sig
- Language.Embedded.CExp: pattern LitP :: forall a. () => forall a1. (CType (DenResult (Full a)), Full a ~# Full a1) => a1 -> CExp a
+ Language.Embedded.CExp: pattern LitP :: forall a a1. () => (CType (DenResult (Full a)), Full a ~ Full a1) => a1 -> CExp a
- Language.Embedded.Imperative: class (:<:) (sub :: k -> k1 -> Type) (sup :: k -> k1 -> Type)
+ Language.Embedded.Imperative: class (sub :: k -> k1 -> Type) :<: (sup :: k -> k1 -> Type)
- Language.Embedded.Imperative: data ProgramT (instr :: (Type -> Type, k) -> Type -> Type) (fs :: k) (m :: Type -> Type) a :: forall k. () => (Type -> Type, k) -> Type -> Type -> k -> Type -> Type -> Type -> Type
+ Language.Embedded.Imperative: data ( (h1 :: k -> k1 -> Type) :+: (h2 :: k -> k1 -> Type) ) (fs :: k) (a :: k1)
- Language.Embedded.Imperative: interpret :: (Interp i m fs, HFunctor i, Monad m) => Program i fs a -> m a
+ Language.Embedded.Imperative: interpret :: forall k (i :: (Type -> Type, k) -> Type -> Type) m (fs :: k) a. (Interp i m fs, HFunctor i, Monad m) => Program i fs a -> m a
- Language.Embedded.Imperative: interpretBi :: (InterpBi i m fs, HBifunctor i, Functor m, Monad m) => (forall b. () => exp b -> m b) -> Program i ((,) exp fs) a -> m a
+ Language.Embedded.Imperative: interpretBi :: forall k (i :: (Type -> Type, (Type -> Type, k)) -> Type -> Type) m (fs :: k) exp a. (InterpBi i m fs, HBifunctor i, Functor m, Monad m) => (forall b. () => exp b -> m b) -> Program i '(exp, fs) a -> m a
- Language.Embedded.Imperative: interpretBiT :: (InterpBi i m fs, HBifunctor i, Functor m, Monad m, Monad n) => (forall b. () => exp b -> m b) -> (forall b. () => n b -> m b) -> ProgramT i ((,) exp fs) n a -> m a
+ Language.Embedded.Imperative: interpretBiT :: forall k (i :: (Type -> Type, (Type -> Type, k)) -> Type -> Type) m (fs :: k) n exp a. (InterpBi i m fs, HBifunctor i, Functor m, Monad m, Monad n) => (forall b. () => exp b -> m b) -> (forall b. () => n b -> m b) -> ProgramT i '(exp, fs) n a -> m a
- Language.Embedded.Imperative: interpretT :: (Interp i m fs, HFunctor i, Monad m) => (forall b. () => n b -> m b) -> ProgramT i fs n a -> m a
+ Language.Embedded.Imperative: interpretT :: forall k (i :: (Type -> Type, k) -> Type -> Type) m (fs :: k) n a. (Interp i m fs, HFunctor i, Monad m) => (forall b. () => n b -> m b) -> ProgramT i fs n a -> m a
- Language.Embedded.Imperative: type Param1 (a :: k) = (,) a Param0
+ Language.Embedded.Imperative: type Param1 (a :: k) = '(a, Param0)
- Language.Embedded.Imperative: type Param2 (a :: k) (b :: k1) = (,) a Param1 b
+ Language.Embedded.Imperative: type Param2 (a :: k) (b :: k1) = '(a, Param1 b)
- Language.Embedded.Imperative: type Param3 (a :: k) (b :: k1) (c :: k2) = (,) a Param2 b c
+ Language.Embedded.Imperative: type Param3 (a :: k) (b :: k1) (c :: k2) = '(a, Param2 b c)
- Language.Embedded.Imperative.CMD: PtrComp :: VarId -> Ptr
+ Language.Embedded.Imperative.CMD: PtrComp :: VarId -> Ptr (a :: *)
- Language.Embedded.Imperative.CMD: [ptrId] :: Ptr -> VarId
+ Language.Embedded.Imperative.CMD: [ptrId] :: Ptr (a :: *) -> VarId
Files
- imperative-edsl.cabal +17/−17
imperative-edsl.cabal view
@@ -1,5 +1,5 @@ name: imperative-edsl-version: 0.8+version: 0.8.1 synopsis: Deep embedding of imperative programs with code generation description: Deep embedding of imperative programs with code generation. .@@ -84,27 +84,27 @@ UndecidableInstances build-depends:- array,+ array < 0.6, base >=4 && <5,- containers,- data-default-class,- deepseq,- directory,- exception-transformers,- ghc-prim,+ containers < 0.7,+ data-default-class < 0.2,+ deepseq < 1.5,+ directory < 1.4,+ exception-transformers < 0.5,+ ghc-prim < 0.7, 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,- mtl,- process,+ mainland-pretty >= 0.4 && < 0.8,+ microlens >= 0.3.0.0 && < 0.5,+ microlens-mtl >= 0.1.8 && < 0.2,+ microlens-th < 0.5,+ mtl < 2.3,+ process < 1.7, operational-alacarte >= 0.3,- BoundedChan,- srcloc,+ BoundedChan < 1.1,+ srcloc < 0.6, syntactic >= 3.8, -- That version fixes overlap bugs- time >= 1.5.0.1,+ time >= 1.5.0.1 && < 1.12, stm >= 2.4 && < 2.6 hs-source-dirs: src