Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

representable tries

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 src
Octocat-spinner-32 .ghci
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .travis.yml
Octocat-spinner-32 .vim.custom
Octocat-spinner-32 CHANGELOG.markdown
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.markdown
Octocat-spinner-32 Setup.lhs
Octocat-spinner-32 representable-tries.cabal
README.markdown

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

Something went wrong with that request. Please try again.