## Denotational semantics for lazy initialization of letrec black

Citations: | 1 - 0 self |

### BibTeX

@MISC{Nakata_denotationalsemantics,

author = {Keiko Nakata},

title = {Denotational semantics for lazy initialization of letrec black},

year = {}

}

### OpenURL

### Abstract

holes as exceptions rather than divergence

### Citations

240 |
The formal semantics of programming languages: an introduction
- Winskel
- 1993
(Show Context)
Citation Context ... xi’s. For d,d ′ ∈ (Vτ + Errτ)⊥, the notation d ·d ′ abbreviates ((λy.λx.x) ∗ (d))(d′). The semantic function, being defined using only continuous operations, is continuous and mostly standard (c.f., =-=[14]-=-) except for letrec. The denotation of let rec x1 beM τ1 1 ,...,xn beM τn n in N : τ is defined with the help of a semantic function for (typed) heaps. The function {{x1 ↦→ M τ1 1 ,...,xn ↦→ Mτn n }} ... |

190 | A callby-need lambda calculus
- Ariola, Maraist, et al.
- 1995
(Show Context)
Citation Context ...that 〈〉M ⇓ 〈Φ〉V . 4 Related work The natural semantics used in the paper is very much inspired by those of Launchbury [5] and Sestoft [10]. Ariola and Felleisen gave a reduction semantics for λletrec =-=[2]-=-, which is proved equivalent to our natural semantics [8]. Our denotational semantics is also influenced by Launchbury’s, except that his semantics assigns a bottom element to both black holes and loo... |

187 | A Natural Semantics for Lazy Evaluation
- Launchbury
- 1993
(Show Context)
Citation Context ...2, which are all straightforward. In figure 3, we present the natural semantics. The natural semantics is identical to that given in our previous work [8], which is very much inspired by Launchbury’s =-=[5]-=- and Sestoft’s [10]. Heaps, ranged over by metavariables Ψ and Φ, are finite mappings from variables to expressions. We write x1 ↦→ M1,...,xn ↦→ Mn to denote a heap whose domain is {x1,...,xn}, and wh... |

71 | Deriving a Lazy Abstract Machine
- Sestoft
- 1997
(Show Context)
Citation Context ...traightforward. In figure 3, we present the natural semantics. The natural semantics is identical to that given in our previous work [8], which is very much inspired by Launchbury’s [5] and Sestoft’s =-=[10]-=-. Heaps, ranged over by metavariables Ψ and Φ, are finite mappings from variables to expressions. We write x1 ↦→ M1,...,xn ↦→ Mn to denote a heap whose domain is {x1,...,xn}, and which maps xi’s to Mi... |

41 |
The Revised6 Report on the Algorithmic Language Scheme
- Sperber
- 2007
(Show Context)
Citation Context ...Moggi and Sabry’s monadic operational semantics for value recursion signals a monadic error when a black hole is encountered [7]. The idea seems to be ascribed to the backpatching semantics of Scheme =-=[11]-=-. ρ (xi) = 5Denotational semantics of lazy initialization of letrec K. Nakata 5 Conclusion We have presented a denotational semantics for lazy initialization of letrec. The semantics interprets direc... |

37 | Cyclic lambda calculi
- Ariola, Blom
- 1997
(Show Context)
Citation Context ...Ariola and Klop [3] studied equational theories of cyclic lambda calculi by means of cyclic lambda graphs and observed that having non-restricted substitution leads to non-confluence. Ariola and Blom =-=[1]-=- and Schmidt-Schauß et al. [9] use infinite lambda terms to reason about call-by-need letrec; it is not obvious if their techniques can be adapted so that black holes are distinguished from divergence... |

35 | Cyclic lambda graph rewriting
- Ariola, Klop
- 1994
(Show Context)
Citation Context ... also influenced by Launchbury’s, except that his semantics assigns a bottom element to both black holes and looping recursion; the distinction of the two is at the heart of our work. Ariola and Klop =-=[3]-=- studied equational theories of cyclic lambda calculi by means of cyclic lambda graphs and observed that having non-restricted substitution leads to non-confluence. Ariola and Blom [1] and Schmidt-Sch... |

19 | An abstract monadic semantics for value recursion
- Moggi, Sabry
- 2003
(Show Context)
Citation Context ...om divergence. Viewing black holes as exceptions is not new. For instance, Moggi and Sabry’s monadic operational semantics for value recursion signals a monadic error when a black hole is encountered =-=[7]-=-. The idea seems to be ascribed to the backpatching semantics of Scheme [11]. ρ (xi) = 5Denotational semantics of lazy initialization of letrec K. Nakata 5 Conclusion We have presented a denotational... |

18 |
Initializing mutually referential abstract objects: The value recursion challenge
- Syme
(Show Context)
Citation Context ...tion provides a useful measure to initialize recursive bindings by exploring a successful initialization order of the bindings at runtime and by signaling an exception when there is no such order. In =-=[12]-=-, Syme advocates the use of lazy evaluation for initializing mutually recursive bindings in MLlike languages to permit a wider range of recursive bindings 2 . Flexibility in handling recursive binding... |

8 | Small-step and big-step semantics for call-by-need
- Nakata, Hasegawa
- 2009
(Show Context)
Citation Context ... e.g., type(x). Typing rules are found in figure 2, which are all straightforward. In figure 3, we present the natural semantics. The natural semantics is identical to that given in our previous work =-=[8]-=-, which is very much inspired by Launchbury’s [5] and Sestoft’s [10]. Heaps, ranged over by metavariables Ψ and Φ, are finite mappings from variables to expressions. We write x1 ↦→ M1,...,xn ↦→ Mn to ... |

8 |
Simulation in the call-by-need lambdacalculus with letrec, case, constructors, and seq. Frank report 49
- Schmidt-Schauß, Sabel, et al.
(Show Context)
Citation Context ...uational theories of cyclic lambda calculi by means of cyclic lambda graphs and observed that having non-restricted substitution leads to non-confluence. Ariola and Blom [1] and Schmidt-Schauß et al. =-=[9]-=- use infinite lambda terms to reason about call-by-need letrec; it is not obvious if their techniques can be adapted so that black holes are distinguished from divergence. Viewing black holes as excep... |

3 |
Reference: PLT scheme
- Flatt, PLT
- 2009
(Show Context)
Citation Context ... with respect to a referential operational semantics. 1 Introduction Lazy evaluation is a well-known technique in practice to initialize recursive bindings. OCaml [6] and Racket (formerly PLT Scheme) =-=[4]-=-, provide language constructs, lazy/force and delay/force operators respectively, to support lazy evaluation atop call-by-value languages with arbitrary side-effects. Their implementations are quite s... |

3 |
The objective caml system, release 3.11
- Leroy, Doligez, et al.
- 2008
(Show Context)
Citation Context ...tational semantics is proved adequate with respect to a referential operational semantics. 1 Introduction Lazy evaluation is a well-known technique in practice to initialize recursive bindings. OCaml =-=[6]-=- and Racket (formerly PLT Scheme) [4], provide language constructs, lazy/force and delay/force operators respectively, to support lazy evaluation atop call-by-value languages with arbitrary side-effec... |

1 |
and the MSR F# team. The f# programming language, version 2.0.0.0
- Syme
- 2010
(Show Context)
Citation Context ...rface with external abstract libraries such as GUI APIs. Syme’s proposal can be implemented using OCaml’s lazy/force operators and it underlies the initialization semantics of the object system in F# =-=[13]-=-. There is a gap between lazy evaluation, as outlined above, and conventional models for lazy, or call-by-need, computation as found in the literature. Traditionally call-by-need is understood as an e... |