# linear-smc: Build SMC morphisms using linear types

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.

## Modules

*Control**Category*- Control.Category.Constrained
- Control.Category.Linear
- Control.Category.Tensors

## Downloads

- linear-smc-2.2.3.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)

#### Maintainer's Corner

For package maintainers and hackage trustees

Candidates

Versions [RSS] | 1.0.0, 1.0.1, 1.1.1, 2.0.1, 2.0.2, 2.2.2, 2.2.3 |
---|---|

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

Distributions | NixOS:2.2.3 |

Downloads | 364 total (8 in the last 30 days) |

Rating | (no votes yet) [estimated by Bayesian average] |

Your Rating | |

Status | Docs not available [build log] All reported builds failed as of 2023-06-20 [all 2 reports] |