Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/samuelschlesinger/memoization
Explorations with memoization in Haskell
https://github.com/samuelschlesinger/memoization
Last synced: 20 days ago
JSON representation
Explorations with memoization in Haskell
- Host: GitHub
- URL: https://github.com/samuelschlesinger/memoization
- Owner: SamuelSchlesinger
- Created: 2020-03-15T12:13:33.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-03-20T10:00:22.000Z (almost 5 years ago)
- Last Synced: 2024-10-27T19:10:53.143Z (2 months ago)
- Language: Haskell
- Size: 14.6 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Memoization and Dynamic Programming in Haskell
Typically, when one thinks of memoization and dynamic programming, they think
of hiding some sort of mutable data structure underneath a function call where
the function call checks if that particular cell has been populated yet, doing
some work to populate it if not.In Haskell, we can lazily initialize the entire table, and then index into it
immediately without doing all of the work, which allows us to write dynamic
programs in a much more declarative way. The machinery to do this is contained
in Memo, some examples are contained in Examples, and a cute little test suite
is contained in Test.This work was inspired by [Fun with Type Functions](https://www.cs.tufts.edu/comp/150FP/archive/simon-peyton-jones/typefun.pdf).