representable-tries: Tries from representations of polynomial functors

[ bsd3, comonads, data-structures, functors, library, monads ] [ Propose Tags ]

Tries from representations of polynomial functors


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1, 0.2, 0.2.1, 0.2.2, 0.2.3, 0.2.3.1, 0.3, 0.3.1, 0.3.1.1, 0.3.1.2, 0.3.2, 0.3.4, 0.3.6, 0.3.7, 0.5.0, 0.5.0.1, 1.8.0, 1.8.1, 2.0, 2.0.0.1, 2.0.0.2, 2.0.1.1, 2.0.1.2, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.2, 2.2.1, 2.4, 2.4.0.1, 2.4.0.2, 2.5, 3.0, 3.0.1, 3.0.1.1, 3.0.2
Change log CHANGELOG.markdown
Dependencies adjunctions (>=3), base (>=4 && <5), bifunctors (>=3), comonad (>=3), comonad-transformers (>=3), containers (>=0.3 && <0.6), distributive (>=0.2.2), keys (>=3.0.0.1), mtl (>=2.0.1 && <2.2), representable-functors (>=3.0.0.1), semigroupoids (>=3), semigroups (>=0.8.3.1), transformers (>=0.2 && <0.4) [details]
License BSD-3-Clause
Copyright Copyright (C) 2011 Edward A. Kmett
Author Edward A. Kmett
Maintainer Edward A. Kmett <ekmett@gmail.com>
Category Data Structures, Functors, Monads, Comonads
Home page http://github.com/ekmett/representable-tries/
Bug tracker http://github.com/ekmett/representable-tries/issues
Source repo head: git clone git://github.com/ekmett/representable-tries.git
Uploaded by EdwardKmett at 2013-01-06T22:58:36Z
Distributions
Reverse Dependencies 2 direct, 23 indirect [details]
Downloads 29098 total (104 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for representable-tries-3.0.2

[back to package description]

representable-tries

Build Status

This package provides a simple function memoization scheme based on the notion of representable functors.

In category theory a representable functor (more pedantically a corepresentable functor) is one such that f a is isomorphic to x -> a. We choose the name Representable here because we are talking about haskell Functor instances, and they are all covariant, so this is the more natural notion of representability for Haskell.

Given the existence of representable functors, we can choose a Traversable representable functor that has our data type as a representation, and use it to memoize functions by building a data structure that has one place to hold each answer for each possible argument.

Contact Information

Contributions and bug reports are welcome!

Please feel free to contact me through github or on the #haskell IRC channel on irc.freenode.net.

-Edward Kmett