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 13bc4de0dc Added README
2019-09-29 20:46:19 +01:00
.circleci Build benchmarks on CI 2019-09-07 15:20:58 +02:00
bench Renamed arr family of function to lift 2019-09-08 21:08:52 +02:00
examples Added README 2019-09-29 20:46:19 +01:00
nix Efficient representation of a free category (#5) 2019-08-31 08:12:21 +00:00
src/Control Generalise liftEffect and foldNatEffCat 2019-09-29 20:46:19 +01:00
test Added Category instance for Queue 2019-09-07 09:58:45 +02: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 Added Show instances for Cat and C 2019-09-07 09:00:20 +02:00
default.nix Build benchmarks on CI 2019-09-07 15:20:58 +02:00
free-category.cabal Remove duplicated field in free-category.cabal 2019-09-03 18:18:44 +00:00
LICENSE Initial commit 2018-08-26 19:12:12 +02:00
README.md Update README.md 2019-09-08 19:56:04 +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 categories. There are a few presentations based on:

  • realtime queues (C. Okasaki 'Pure Functional Data Structures')
  • 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.

Benchmarks

Check performence characteristics of various presentations free categories:

Some examples