Miranda: a non-strict functional language with polymorphic types
Proc. of a conference on Functional programming languages and computer architecture
How to replace failure by a list of successes
Proc. of a conference on Functional programming languages and computer architecture
Proc. of a conference on Functional programming languages and computer architecture
Constructing natural language interpreters in a lazy functional language
The Computer Journal - Special issue on Lazy functional programming
Computational lambda-calculus and monads
Proceedings of the Fourth Annual Symposium on Logic in computer science
Lazy recursive descent parsing for modular language implementation
Software—Practice & Experience
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Acta Informatica
Report on the programming language Haskell: a non-strict, purely functional language version 1.2
ACM SIGPLAN Notices - Haskell special issue
Constructing programs as executable attribute grammars
The Computer Journal - Special issue on models and architectures
Software—Practice & Experience
Memoization in top-down parsing
Computational Linguistics
Memoizing purely functional top-down backtracking language processors
Science of Computer Programming
The Functional Treatment of Parsing
The Functional Treatment of Parsing
Monads for Functional Programming
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
W/AGE: The Windsor Attribute Grammar Programming Environment
HCC '02 Proceedings of the IEEE 2002 Symposia on Human Centric Computing Languages and Environments (HCC'02)
Techniques for automatic memoization with applications to context-free parsing
Computational Linguistics
Realization of natural language interfaces using lazy functional programming
ACM Computing Surveys (CSUR)
Hi-index | 0.00 |
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)s pace 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 resulting 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.