1
1
mirror of https://github.com/coot/free-category.git synced 2024-11-23 09:55:43 +03:00
Free categories, free arrows and free categories with monadic actions
Go to file
Marcin Szamotulski ed310d4af7 Export Cat Id constructor
At times it is useful to be more explicit than
`id :: Category c => c a a`
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 Export Cat Id constructor 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.md and ChangeLog.md 2019-01-26 11:00:56 +01: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.md file 2019-08-31 10:19:44 +02: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 are included and free Kleisli categories.

Free categories are useful to model state machines in a simple yet type safe way and 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