Improvement in a lazy context: An operational theory for call-by-need
A Moran, D Sands - Proceedings of the 26th ACM SIGPLAN-SIGACT …, 1999 - dl.acm.org
The standard implementation technique for lazy functional languages is call-by-need, which
ensures that an argument to a function in any given call is evaluated at most once. A …
ensures that an argument to a function in any given call is evaluated at most once. A …
Call-by-value is dual to call-by-name–reloaded
P Wadler - International Conference on Rewriting Techniques and …, 2005 - Springer
We consider the relation of the dual calculus of Wadler (2003) to the λμ-calculus of Parigot
(1992). We give translations from the λμ-calculus into the dual calculus and back again. The …
(1992). We give translations from the λμ-calculus into the dual calculus and back again. The …
Reduction in a linear lambda-calculus with applications to operational semantics
A Simpson - International Conference on Rewriting Techniques and …, 2005 - Springer
We study beta-reduction in a linear lambda-calculus derived from Abramsky's linear
combinatory algebras. Reductions are classified depending on whether the redex is in the …
combinatory algebras. Reductions are classified depending on whether the redex is in the …
A sufficient completeness reasoning tool for partial specifications
We present the Maude sufficient completeness tool, which explicitly supports sufficient
completeness reasoning for partial conditional specifications having sorts and subsorts and …
completeness reasoning for partial conditional specifications having sorts and subsorts and …
Closure conversion in little pieces
Closure conversion, an essential step in compiling functional programs, is traditionally
presented as a global transformation from a language with higher-order functions to one …
presented as a global transformation from a language with higher-order functions to one …
A polymorphic environment calculus and its type-inference algorithm
SY Nishizaki - Higher-Order and Symbolic Computation, 2000 - Springer
The polymorphic environment calculus is a polymorphic lambda calculus which enables us
to treat environments as first-class citizens. In the calculus, environments are formalized as …
to treat environments as first-class citizens. In the calculus, environments are formalized as …
Operational properties of Lily, a polymorphic linear lambda calculus with recursion
Plotkin has advocated the combination of linear lambda calculus, polymorphism and fixed
point recursion as an expressive semantic metalanguage. We study its expressive power …
point recursion as an expressive semantic metalanguage. We study its expressive power …
[图书][B] Type-inference based deforestation of functional programs
O Chitil - 2000 - search.proquest.com
In lazy functional programming modularity is often achieved by using intermediate data
structures to combine separate parts of a program. Each intermediate data structure is …
structures to combine separate parts of a program. Each intermediate data structure is …
Complete laziness: a natural semantics
FR Sinot - Electronic Notes in Theoretical Computer Science, 2008 - Elsevier
Lazy evaluation (or call-by-need) is widely used and well understood, partly thanks to a
clear operational semantics given by Launchbury. However, modern non-strict functional …
clear operational semantics given by Launchbury. However, modern non-strict functional …
The spineless tagless G-machine, naturally
J Mountjoy - Proceedings of the third ACM SIGPLAN International …, 1998 - dl.acm.org
The application of natural semantic specifications of lazy evaluation to areas such as usage
analysis, formal profiling and abstract machine construction has shown it to be a useful …
analysis, formal profiling and abstract machine construction has shown it to be a useful …