Popularity
6.7
Stable
Activity
5.1
Growing
23
4
2

Description

This package introduces variouos encodings of free categories in Haskell.

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.

Monthly Downloads: 18
Programming language: Haskell
License: Mozilla Public License 2.0
Tags: Algebra     Control     Categories     Monads     Category     Free     Mathematics     State Machines    
Latest version: v0.0.4.4

Free Category alternatives and similar packages

Based on the "free" category.
Alternatively, view Free Category alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Free Category or a related project?

Add another 'free' Package

README

Free Category

Maintainer: coot Haskell/CI

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