1
1
mirror of https://github.com/coot/free-category.git synced 2024-11-23 00:56:58 +03:00
Free categories, free arrows and free categories with monadic actions
Go to file
Marcin Szamotulski 1509aa5734
Updated cabal file
2019-12-05 02:23:32 +01:00
.circleci Added release.nix file 2019-12-05 02:20:14 +01:00
bench Removed Cat type 2019-12-05 02:20:14 +01:00
examples Removed Cat type 2019-12-05 02:20:14 +01:00
nix Updated nixpkgs hash 2019-12-05 02:20:14 +01:00
src/Control Removed Cat type 2019-12-05 02:20:14 +01:00
test Removed Cat type 2019-12-05 02:20:14 +01:00
.travis.yml Efficient representation of a free category (#5) 2019-08-31 08:12:21 +00:00
bench-cats.hp Fixed a typo in README.md file 2019-09-03 21:46:21 +02:00
bench-cats.prof Fixed a typo in README.md file 2019-09-03 21:46:21 +02:00
bench-cats.svg Fixed a typo in README.md file 2019-09-03 21:46:21 +02:00
cabal.project Lifting (#2) 2018-12-10 19:59:39 +01:00
ChangeLog.md Updated ChangeLog 2019-12-05 02:20:14 +01:00
default.nix nix: use -Wno-inline-rule-shadowing in ghc802 2019-10-06 13:11:45 +01:00
free-category.cabal Updated cabal file 2019-12-05 02:23:32 +01:00
LICENSE Initial commit 2018-08-26 19:12:12 +02:00
README.md Fixed typos in README.md 2019-12-05 02:20:14 +01:00
release.nix Added release.nix file 2019-12-05 02:20:14 +01:00
shell.nix Efficient representation of a free category (#5) 2019-08-31 08:12:21 +00:00

Free Category

Maintainer: coot CircleCI

This package contains efficient implementations of free categories. There are various representations available:

  • real-time queues (C. Okasaki 'Pure Functional Data Structures')
  • type aligned lists
  • continuation passing style (Church encoding)

Free arrows and free Kleisli categories are also included.

Free categories are useful to model state machines in a simple yet type safe manner. For that purpose Kleisli categories are a very useful target which allows to include monadic computations. This package contains a useful generalisation of Kliesli categories captured by EffectCategory class (categories with effects), and a (free) transformer which lifts a category to a category with effects.

Benchmarks

Check performance characteristics of various representations:

Resources