## Small-step and big-step semantics for call-by-need (2009)

Citations: | 8 - 2 self |

### BibTeX

@MISC{Nakata09small-stepand,

author = {Keiko Nakata and et al.},

title = {Small-step and big-step semantics for call-by-need},

year = {2009}

}

### OpenURL

### Abstract

### Citations

557 | A syntactic approach to type soundness
- Wright, Felleisen
- 1994
(Show Context)
Citation Context ...nces. In our reduction semantics undefinedness, or black holes •, are produced and propagated explicitly, in a spirit similar to Wright and Felleisen’s treatment of exceptions in a reduction calculus =-=[16]-=-. Rules error and errorenv produce black holes. Applying a black hole to an expression results in a black hole (errorβ). A value may be an abstraction or a black hole. Thus rules lift, deref, deref en... |

188 | Parameter-passing and the lambda calculus
- Crank, Felleisen
- 1991
(Show Context)
Citation Context ...ctly enforces variable hygiene. Moreover the α-renaming strategy of the revised semantics is demonstrated to be suitable in the light of possible implementations with heap-based abstract machines. In =-=[2]-=- Ariola and Felleisen studied an equational theory for an acyclic (nonrecursive) call-by-need lambda calculus. The calculus admits the standardization theorem, which gives rise to a reduction semantic... |

182 | A natural semantics for lazy evaluation
- Launchbury
- 1993
(Show Context)
Citation Context ... denotational semantics in the style of Launchbury; adequacy of the reduction semantics for the cyclic calculus is in turn ascribed to its correspondence with the natural semantics. 1 Introduction In =-=[7]-=- Launchbury studied a natural semantics for a call-by-need lambda calculus with letrec. He showed the semantics adequate using a denotational semantics. Sestoft later revised Launchbury’s semantics [1... |

134 | Full abstraction in the lazy lambda calculus
- Abramsky, Ong
- 1993
(Show Context)
Citation Context ...r. We define the denotational semantics for pure expressions of λletrec. A program M is pure if it does not contain black holes. The denotational semantics models functions by a lifted function space =-=[1]-=-. We represent lifting using Fn, and projection using ↓Fn (written as a postfix operator). Let Values be some appropriate domain containing at least a lifted version of its own function space. Environ... |

68 | Deriving a lazy abstract machine
- Sestoft
- 1997
(Show Context)
Citation Context ...7] Launchbury studied a natural semantics for a call-by-need lambda calculus with letrec. He showed the semantics adequate using a denotational semantics. Sestoft later revised Launchbury’s semantics =-=[12]-=-. The revised semantics correctly enforces variable hygiene. Moreover the α-renaming strategy of the revised semantics is demonstrated to be suitable in the light of possible implementations with heap... |

42 | The call-by-need lambda calculus
- Maraist, Odersky, et al.
- 1998
(Show Context)
Citation Context ...cyclic call-by-need lambda calculi, and prove them equivalent to the corresponding reduction semantics given by Ariola and Felleisen. For the acyclic calculus we revise the natural semantics given in =-=[9]-=- by correctly enforcing variable hygiene in the style of Sestoft; its adequacy is ascribed to its correspondence with the reduction semantics, which has been proved equivalent to call-by-name by Ariol... |

41 | The Revised6 Report on the Algorithmic Language Scheme - Sperber - 2007 |

37 | Cyclic lambda calculi
- Ariola, Blom
- 1997
(Show Context)
Citation Context ... which is proved equivalent to a call-by-need continuation semantics. Sharing of evaluation is implemented by ML-style references, which resemble global heaps. Ariola and Klop [4] and Ariola and Blom =-=[3]-=- studied equational theories of cyclic lambda calculi by means of cyclic lambda graphs. The former observed that having non-restricted substitution leads to non-confluence and proposed a restriction o... |

35 | Cyclic lambda graph rewriting
- Ariola, Klop
- 1994
(Show Context)
Citation Context ...tinuation-passing style, which is proved equivalent to a call-by-need continuation semantics. Sharing of evaluation is implemented by ML-style references, which resemble global heaps. Ariola and Klop =-=[4]-=- and Ariola and Blom [3] studied equational theories of cyclic lambda calculi by means of cyclic lambda graphs. The former observed that having non-restricted substitution leads to non-confluence and ... |

30 | call-by-value and the λ-calculus. Theoret - Plotkin - 1975 |

18 |
Initializing mutually referential abstract objects: The value recursion challenge
- Syme
(Show Context)
Citation Context ... value. Therefore we are interested in a call-by-value variant of λletrec, which can model a call-by-value letrec lambda calculus with delay/force operators. For instance Syme’s initialization graphs =-=[14]-=-, which underlie the object initialization strategy of F# [15], fit in this variant extended with n-tuples, or records. In figure 18 we define the syntax of λval letrec , a call-by-value variant of λl... |

17 | Call-by-need and continuationpassing style
- Okasaki, Lee, et al.
- 1994
(Show Context)
Citation Context ...ient machine in several steps. The machine is proved equivalent to his natural semantics. As discussed earlier, the natural semantics for λletrec is strongly inspired by his semantics. Okasaki et al. =-=[10]-=- proposed a transformation of call-by-need λ terms, in the absence of recursion, into continuation-passing style, which is proved equivalent to a call-by-need continuation semantics. Sharing of evalua... |

14 |
Defunctionalized interpreters for programming languages
- Danvy
- 2008
(Show Context)
Citation Context ...ed notion of confluence which holds in the presence of non-restricted substitution. In [3] a calculus supporting sharing is considered, but a reduction strategy for the calculus is not studied. Danvy =-=[5]-=- advocates the use of abstract machines as a ”natural meeting ground” of various functional implementations of operational semantics, especially the small-step reduction semantics and big-step natural... |

11 | Lazy evaluation and delimited control
- Garcia, Lumsdaine, et al.
- 2009
(Show Context)
Citation Context ... review some 26of them. The reader may be interested in the concluding remarks of [9], where Maraist et al. discuss the reduction semantics in relation to other systems. Recent work by Garcia et al. =-=[6]-=- proposed an abstract machine for the letfree formulation of the acyclic calculus λlet, which is proved equivalent to the reduction semantics of Ariola and Felleisen [2]. They also presented a simulat... |

3 |
The Objective Caml system, release 3.11. Software and documentation available on the Web
- Leroy, Doligez, et al.
- 2008
(Show Context)
Citation Context ... ⇓ 〈⌈Θ⌉〉 V 2. if 〈〉 M ⇓ 〈Ψ〉 V then M ։ Θ[V ] where ⌈Θ⌉ = Ψ. 5 Call-by-value letrec calculus λ val letrec The delay and force operators as provided in Scheme [13], or OCaml’s equivalent lazy and force =-=[8]-=-, can be emulated by let rec x be M in λx ′.x for delay(M) and M(λx.x) for force(M). It is crucial for this encoding that letrec-bindings are evaluated lazily. However, in the presence of ML’s traditi... |

2 | The Objective Caml system, release 3.11 [online]. Available at: http://caml.inria.fr/ (Accessed 29 - Leroy, Doligez, et al. - 2008 |

2 | The F# programming language [online]. Available at: http://research.microsoft.com/en-us/um/people/curtisvv/fsharp_default.aspx (Accessed 29 - Syme, Margetson - 2008 |

1 |
The F# Programming Language, 2008. Software and documentation available on the Web, http://research.microsoft.com/en-us/um/people/curtisvv/fsharp default.aspx
- Syme, Margetson
(Show Context)
Citation Context ... of λletrec, which can model a call-by-value letrec lambda calculus with delay/force operators. For instance Syme’s initialization graphs [14], which underlie the object initialization strategy of F# =-=[15]-=-, fit in this variant extended with n-tuples, or records. In figure 18 we define the syntax of λval letrec , a call-by-value variant of λletrec. It differs from λletrec in that evaluation contexts con... |