Lambda Calculus is commonly thought to be the basis for functional programming. However, there is a fundamental mismatch between the "standard" theory of sensible Lambda Calculus (as in e.g. [Bar84]) and the practice of lazy evaluation which is a distinctive feature of functional programming. This paper proposes modification of a number of key notions in the sensible theory along the lines of laziness. Starting from the strongly unsolvables as the meaningless terms, we define and investigate properties of lazy (or weakly sensible) λ-theories, lazy λ-models and a number of lazy behavioural preorders on λ-terms. In the second part, we show that all these notions have a natural place in a class of lazy pse-models. A major result of...
Lazy evaluation is an evaluation strategy in programming languages. Lazy evaluation delays the evalu...
Machine Peter Sestoft Department of Mathematics and Physics Royal Veterinary and Agricultural Univ...
Partial evaluation is a method for program specialization based on fold/unfold transformations [8, 2...
AbstractA theory of lazy λ-calculus is developed as a basis for lazy functional programming language...
The paper explores different approaches for modeling the lazy -calculus, which is a paradigmatic lan...
Functional languages can be enriched with logic variables to provide new computational features suc...
In this paper we show, among other things, that logical structures such as di erence lists have a na...
Our motivation is the question whether the lazy lambda calculus, a pure lambda calculus with the lef...
Our motivation is the question whether the lazy lambda calculus, a pure lambda calculus with the lef...
Our motivation is the question whether the lazy lambda calculus, a pure lambda calculus with the lef...
In the recent years a multitude of functional language implementations has been developed, whereby t...
AbstractAmong all the reduction strategies for the untyped λ-calculus, the so called lazy β-evaluati...
AbstractThe use of λ-calculus in richer settings, possibly involving parallelism, is examined in ter...
AbstractA denotational semantics for the λ-calculus is described. The semantics is continuation-base...
AbstractThe use of λ-calculus in richer settings, possibly involving parallelism, is examined in ter...
Lazy evaluation is an evaluation strategy in programming languages. Lazy evaluation delays the evalu...
Machine Peter Sestoft Department of Mathematics and Physics Royal Veterinary and Agricultural Univ...
Partial evaluation is a method for program specialization based on fold/unfold transformations [8, 2...
AbstractA theory of lazy λ-calculus is developed as a basis for lazy functional programming language...
The paper explores different approaches for modeling the lazy -calculus, which is a paradigmatic lan...
Functional languages can be enriched with logic variables to provide new computational features suc...
In this paper we show, among other things, that logical structures such as di erence lists have a na...
Our motivation is the question whether the lazy lambda calculus, a pure lambda calculus with the lef...
Our motivation is the question whether the lazy lambda calculus, a pure lambda calculus with the lef...
Our motivation is the question whether the lazy lambda calculus, a pure lambda calculus with the lef...
In the recent years a multitude of functional language implementations has been developed, whereby t...
AbstractAmong all the reduction strategies for the untyped λ-calculus, the so called lazy β-evaluati...
AbstractThe use of λ-calculus in richer settings, possibly involving parallelism, is examined in ter...
AbstractA denotational semantics for the λ-calculus is described. The semantics is continuation-base...
AbstractThe use of λ-calculus in richer settings, possibly involving parallelism, is examined in ter...
Lazy evaluation is an evaluation strategy in programming languages. Lazy evaluation delays the evalu...
Machine Peter Sestoft Department of Mathematics and Physics Royal Veterinary and Agricultural Univ...
Partial evaluation is a method for program specialization based on fold/unfold transformations [8, 2...