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 08ee2a979b Free Arrows - various changes
Added:
* arrArr
* mapArr
* foldArr

Renamed:
* (:.:) as Cons (not exported)

Exported:
* Added Arr, Prod
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 Free Arrows - various changes 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