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 6657824470 CatR - optimised version of Cat
This data structure is optimised for morphisms build with a right fold,
e.g. `(.)` and `foldr`.  The optimisations were visible with `-O1` and
`-O2`; with no optimisations (`-O0`), this data structure performs wors
than `Cat` or `ListTr`.
2019-09-01 12:09:39 +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 CatR - optimised version of Cat 2019-09-01 12:09:39 +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 hoistOp - Op is an endo-functor of category of categories 2019-09-01 12:09:39 +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 README.md - some edits 2019-08-31 12:40:00 +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 categories. There are two presentations:

  • using realtime queues (C. Okasaki 'Pure Functional Data Structures')
  • using continuation passing style

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 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