An introduction to the theory of lists
Proceedings of the NATO Advanced Study Institute on Logic of programming and calculi of discrete design
Data structures and program transformation
Science of Computer Programming
Algebra of programming
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire
Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture
Calculating Functional Programs
Revised Lectures from the International Summer School and Workshop on Algebraic and Coalgebraic Methods in the Mathematics of Program Construction
Recursion schemes from comonads
Nordic Journal of Computing
A categorical programming language
A categorical programming language
Recursive coalgebras from comonads
Information and Computation - Special issue: Seventh workshop on coalgebraic methods in computer science 2004
MPC '08 Proceedings of the 9th international conference on Mathematics of Program Construction
Some Remarks on Type Systems for Course-of-value Recursion
Electronic Notes in Theoretical Computer Science (ENTCS)
A Short Cut to Optimal Sequences
APLAS '09 Proceedings of the 7th Asian Symposium on Programming Languages and Systems
SSDGP'06 Proceedings of the 2006 international conference on Datatype-generic programming
Some New Approaches in Functional Programming Using Algebras and Coalgebras
Electronic Notes in Theoretical Computer Science (ENTCS)
Histo- and dynamorphisms revisited
Proceedings of the 9th ACM SIGPLAN workshop on Generic programming
Hi-index | 0.00 |
Dynamic programming is an algorithm design technique, which allows to improve efficiency by avoiding re-computation of identical subtasks. We present a new recursion combinator, dynamorphism, which captures the dynamic programming recursion pattern with memoization and identify some simple conditions when functions defined by structured general recursion can be redefined as a dynamorphism. The applicability of the new recursion combinator is demonstrated on classical dynamic programming algorithms: Fibonacci numbers, binary partitions, edit distance and longest common subsequence.