packages feed

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 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: