1
1
mirror of https://github.com/coot/free-category.git synced 2024-09-11 14:17:30 +03:00
Free categories, free arrows and free categories with monadic actions
Go to file
2019-08-31 10:35:21 +00:00
.circleci Efficient representation of a free category (#5) 2019-08-31 08:12:21 +00:00
examples Stylistic changes 2019-08-24 10:28:08 +02:00
nix Efficient representation of a free category (#5) 2019-08-31 08:12:21 +00:00
src/Control Added semigroup and monoid instances 2019-08-31 10:35:21 +00:00
.travis.yml Efficient representation of a free category (#5) 2019-08-31 08:12:21 +00:00
cabal.project Lifting (#2) 2018-12-10 19:59:39 +01:00
ChangeLog.md Updated README and CHANGELOG files 2019-08-31 10:35:21 +00:00
default.nix Efficient representation of a free category (#5) 2019-08-31 08:12:21 +00:00
free-category.cabal Remove default-extensions from the cabal file 2019-08-31 10:35:21 +00:00
LICENSE Initial commit 2018-08-26 19:12:12 +02:00
README.md Updated README and CHANGELOG files 2019-08-31 10:35:21 +00: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 free category using realtime queues (C. Okasaki 'Pure Functional Data Structures') and another one using CPS style. Also free arrows and free Kleisli categories are included.

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

Some examples