linear-smc 1.0.1 → 1.1.1
raw patch · 2 files changed
+10/−8 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Control.Category.Linear: infixr 9 :::
- Control.Category.Linear: pattern (:::) :: forall con (k :: Type -> Type -> Type) r a b. (Obj k r, Obj k a, Obj k b, Monoidal k, con (), forall α β. (con α, con β) => con (α, β), con ~ Obj k) => P k r a %1 -> P k r b %1 -> P k r (a, b)
Files
- Control/Category/Linear.hs +9/−7
- linear-smc.cabal +1/−1
Control/Category/Linear.hs view
@@ -21,7 +21,8 @@ module Control.Category.Linear ( -- Interface- type P, unit, split, merge, pattern (:::),+ type P, unit, split, merge,+ -- pattern (:::), encode, decode, (!:), -- Helpers for cartesian categories ignore, copy, discard@@ -38,13 +39,14 @@ -pattern (:::) :: forall con (k :: Type -> Type -> Type) r a b.- (Obj k r, Obj k a, Obj k b, Monoidal k, con (), (forall α β. (con α, con β) => con (α,β)), con ~ Obj k) =>- P k r a ⊸ P k r b ⊸ P k r (a, b)-pattern x ::: y <- (split @con -> (x,y))- where x ::: y = merge @con (x,y)+-- Linear patterns don't really work, and some version of GHC do not accept this declaration at all. Disabled for now.+-- pattern (:::) :: forall con (k :: Type -> Type -> Type) r a b.+-- (Obj k r, Obj k a, Obj k b, Monoidal k, con (), (forall α β. (con α, con β) => con (α,β)), con ~ Obj k) =>+-- P k r a ⊸ P k r b ⊸ P k r (a, b)+-- pattern x ::: y <- (split @con -> (x,y))+-- where x ::: y = merge @con (x,y) -infixr ::: -- GHC does not always see this change. rm -r dist/dante. T_T (ghc 8.8.4)+-- infixr ::: -- GHC does not always see this change. rm -r dist/dante. T_T (ghc 8.8.4) type P :: (Type -> Type -> Type) -> Type -> Type -> Type
linear-smc.cabal view
@@ -1,6 +1,6 @@ Cabal-Version: 3.0 name: linear-smc-version: 1.0.1+version: 1.1.1 category: control synopsis: Build SMC morphisms using linear types description: