Cabal-Version: 3.0 name: linear-smc version: 1.0.0 category: control synopsis: Build SMC morphisms using linear types description: A number of domain specific languages, such as circuits or data-science workflows, are best expressed as diagrams of boxes connected by wires. A faithful abstraction of box-and-wires is Symmetric Monoidal Categories (SMCs) This library allows one to program SMCs with linear functions instead of SMC combinators. This is done without resorting to template haskell or compiler plugins. The rationale, design and implementation of this library is provided by the paper "Evaluating Linear Functions to Symmetric Monoidal Categories", by Jean-Philippe Bernardy and Arnaud Spiwack, appearing at Haskell Symposium 2021. license: LGPL-3.0-or-later license-file: LICENSE author: Jean-Philippe Bernardy maintainer: jeanphilippe.bernardy@gmail.com tested-with: GHC==9.0.1 build-type: Simple library build-depends: base >=4.13 && < 666 build-depends: constraints default-language: Haskell2010 exposed-modules: Control.Category.Constrained Control.Category.Linear other-modules: Control.Category.FreeSMC Control.Category.FreeCartesian Test-Suite test-unitary build-depends: constraints build-depends: array default-language: Haskell2010 type: exitcode-stdio-1.0 main-is: examples/Unitary.hs build-depends: base