Monadic Memoization towards Correctness-Preserving Reduction of Search [chapter]

Richard Frost
2003 Lecture Notes in Computer Science  
Memoization is a well-known method which makes use of a table of previously-computed results in order to ensure that parts of a search (or computation) space are not revisited. A new technique is presented which enables the systematic and selective memoization of a wide range of algorithms. The technique overcomes disadvantages of previous approaches. In particular, the proposed technique can help programmers avoid mistakes that can result in sub-optimal use of memoization. In addition, the
more » ... lting memoized programs are amenable to analysis using equational reasoning. It is anticipated that further work will lead to proof of correctness of the proposed memoization technique.
doi:10.1007/3-540-44886-1_8 fatcat:5jvf7amiavdy7chbl7bs7htxty