DP

Pragmatic framework for dynamic programming

http://github.com/srush/SemiRings/tree/master

Latest on Hackage:0.1.1

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Sasha Rush
Maintained by <srush at mit dot edu>

This module provides a simple declarative framework for dynamic programming optimization. Users specify a dynamic programming problem as a simple haskell function that looks very similar to mathematical recursion used in texts. The specification is then translated into a form that can be solved efficiently by a modular solver. Includes solvers using memoization, strict and lazy ordered tables, and recursion with a range of data structures for the underlying table. This method also separates processing steps like pruning and debugging from the recursion itself, and this package contains preliminary tools for beam search and tracing.