Abstract:
Abstract. We propose a denotational semantics for the two-level language of [GJ91, Gom92], and prove its correctness w.r.t. a standard denotational semantics. Other researchers (see [Gom91, GJ91, Gom92, JGS93, HM94]) have claimed correctness for lambda-mix (or extensions of it) based on denotational models, but the proofs of such claims rely on imprecise denitions and are basically
awed. At a technical level there are two important dierences between our model and more naive models in Cpo: the domain for interpreting dynamic expressions is more abstract (we interpret code as -terms modulo -conversion), the semantics of newname is handled dierently (we exploit functor categories). The key idea is to interpret a two-level language in a suitable functor
Citations
|
565
|
Notions of computation and monads
– Moggi
- 1991
|
|
552
|
Partial evaluation and automatic program generation
– Jones, Gomard, et al.
- 1993
|
|
250
|
Foundations for Programming Languages
– Mitchell
- 1996
|
|
116
|
Functorial semantics of algebraic theories
– Lawvere
- 1963
|
|
101
|
A partial evaluator for untyped lambda calculus
– Gomard, Jones
- 1991
|
|
49
|
Kripke-style models for typed lambda calculus
– Mitchell, Moggi
- 1991
|
|
39
|
Polymorphic binding-time analysis
– Henglein, Mossin
- 1994
|
|
34
|
Semantics of local variables
– O'Hearn, Tennent
- 1992
|
|
32
|
A self-applicable partial evaluator for the lambda-calculus: Correctness and pragmatics
– Gomard
- 1992
|
|
30
|
Type algebras, functor categories and block structure
– Oles
- 1985
|
|
26
|
A categorical account of two-level languages
– Moggi
- 1997
|
|
12
|
Metalanguages and applications
– Moggi
- 1997
|
|
8
|
Program Analysis Matters
– Gomard
- 1991
|
|
8
|
Two-Level Functional Languages. Number 34
– Nielson, Nielson
- 1992
|
|
5
|
A fully-abstract model for the pi-calculus
– Fiore, Moggi, et al.
- 1996
|
|
3
|
Continuation semantics in the typed lambda-calculus
– Meyer, Wand
- 1985
|