free-category: Free category

[ algebra, category, category-theory, control, library, monads, mpl ] [ Propose Tags ]

Free categories


[Skip to Readme]
Versions [RSS] [faq] 0.0.1.0, 0.0.2.0, 0.0.3.0, 0.0.4.0, 0.0.4.1, 0.0.4.2, 0.0.4.3 (info)
Change log ChangeLog.md
Dependencies base (>=4.9 && <5), free-algebras (>=0.0.8.0) [details]
License MPL-2.0
Copyright (c) 2018-2019 Marcin Szamotulski
Author Marcin Szamotulski
Maintainer profunctor@pm.me
Category Algebra, Control, Monads, Category
Home page https://github.com/coot/free-category#readme
Bug tracker https://github.com/coot/free-category/issues
Source repo head: git clone https://github.com/coot/free-category
Uploaded by coot at 2019-12-05T13:21:13Z
Distributions NixOS:0.0.4.3
Downloads 1825 total (27 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2019-12-05 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Candidates


Readme for free-category-0.0.4.0

[back to package description]

Free Category

Maintainer: coot CircleCI

This package contains efficient implementations of free categories. There are various representations available:

  • real-time queues (C. Okasaki 'Pure Functional Data Structures')
  • type aligned lists
  • continuation passing style (Church encoding)

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 categories are a very useful target which allows to include monadic computations. This package contains a useful generalisation of Kliesli categories captured by EffectCategory class (categories with effects), and a (free) transformer which lifts a category to a category with effects.

Benchmarks

Check performance characteristics of various representations:

Resources