linear-smc: Build SMC morphisms using linear types
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
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.
Properties
Versions | 1.0.0, 1.0.1, 1.1.1, 2.0.1, 2.0.2, 2.2.2, 2.2.3, 2.2.3 |
---|---|
Change log | None available |
Dependencies | array (>=0.5 && <666), base (>=4.16.4.0 && <666), constraints (>=0.13.4 && <666) [details] |
License | LGPL-3.0-or-later |
Author | Jean-Philippe Bernardy |
Maintainer | jeanphilippe.bernardy@gmail.com |
Category | Math |
Uploaded | by JeanPhilippeBernardy at 2023-06-20T15:53:05Z |
Modules
- Control
- Category
- Control.Category.Constrained
- Control.Category.Linear
- Control.Category.Tensors
- Category
Downloads
- linear-smc-2.2.3.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees