cabal-version: 3.0 -- The cabal-version field refers to the version of the .cabal specification, -- and can be different from the cabal-install (the tool) version and the -- Cabal (the library) version you are using. As such, the Cabal (the library) -- version used must be equal or greater than the version stated in this field. -- Starting from the specification version 2.2, the cabal-version field must be -- the first thing in the cabal file. -- Initial package description 'linear-smc' generated by -- 'cabal init'. For further documentation, see: -- http://haskell.org/cabal/users-guide/ -- -- The name of the package. name: linear-smc -- The package version. -- See the Haskell package versioning policy (PVP) for standards -- guiding when and how versions should be incremented. -- https://pvp.haskell.org -- PVP summary: +-+------- breaking API changes -- | | +----- non-breaking API additions -- | | | +--- code changes with no API change version: 2.2.3 -- A short (one-line) description of the package. synopsis: Build SMC morphisms using linear types -- A longer description of the package. 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 and design 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. This implementation provides additionally: a much improved implementation as well as an interface specifically tailored towards tensor calculus and compact-closed categories in general. -- The license under which the package is released. license: LGPL-3.0-or-later -- The file containing the license text. license-file: LICENSE -- The package author(s). author: Jean-Philippe Bernardy -- An email address to which users can send suggestions, bug reports, and patches. maintainer: jeanphilippe.bernardy@gmail.com -- A copyright notice. -- copyright: category: Math build-type: Simple -- Extra source files to be distributed with the package, such as examples, or a tutorial module. -- extra-source-files: common warnings ghc-options: -Wall library -- Import common warning flags. import: warnings -- Modules exported by the library. exposed-modules: Control.Category.Constrained Control.Category.Linear Control.Category.Tensors other-modules: Control.Category.FreeSMC Control.Category.FreeCartesian Control.Category.Linear.Internal Control.Category.StructuredObject -- Modules included in this library but not exported. -- other-modules: -- LANGUAGE extensions used by modules in this package. -- other-extensions: -- Other library packages from which modules are imported. build-depends: constraints >= 0.13.4 && < 666 build-depends: array >= 0.5 && < 666 build-depends: base >=4.16.4.0 && < 666 -- Directories containing source files. hs-source-dirs: . -- Base language which the package is written in. default-language: Haskell2010 Test-Suite test-unitary build-depends: constraints build-depends: array >= 0.5.4 && < 666 default-language: Haskell2010 type: exitcode-stdio-1.0 main-is: examples/Unitary.hs build-depends: base