## Functor Categories and Two-Level Languages (1998)

Venue: | In Foundations of Software Science and Computation Structures (FoSSaCS |

Citations: | 15 - 4 self |

### BibTeX

@INPROCEEDINGS{Moggi98functorcategories,

author = {E. Moggi},

title = {Functor Categories and Two-Level Languages},

booktitle = {In Foundations of Software Science and Computation Structures (FoSSaCS},

year = {1998},

publisher = {Springer Verlag}

}

### Years of Citing Articles

### OpenURL

### 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 definitions and are basically awed. At a technical level there are two important differences 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 differently (we exploit functor categories). The key idea is to interpret a two-level language in a suitable functor category Cpo D op rather than Cpo. The semantics of newname follows the ideas pioneered by Oles and Reynolds for modeling the stack discipline of Algol-like languages. Indeed, we can think of the objects of D (i.e. the natural numbers) as ...

### Citations

759 | Notions of computation and monads - Moggi - 1991 |

659 |
Partial Evaluation and Automatic Program Generation
- Jones, Gomard, et al.
- 1993
(Show Context)
Citation Context ...le to propose a patch. Lack of precision in the denition of denotational semantics and consequentsaws in correctness proofs are not conned to [Gom92], indeed { Chapter 4 of [Gom91] and Chapter 8 of [J=-=GS9-=-3] contain the same denitions, results and proofs { [GJ91] quotes the same denitions and results (but without proofs) { while [HM94] adapts Gomard's technique to establish correctness for a polymorphi... |

340 | Foundations for Programming Languages - Mitchell - 1996 |

175 |
Functorial semantics of algebraic theories
- Lawvere
- 1963
(Show Context)
Citation Context ...erms modulo -conversion whose free variables are included in fx 0 ; : : : ; xn 1 g. 3.1 The dynamic category We dene D like the category associated to an algebraic theory (as proposed by Lawvere in [L=-=aw63-=-]), i.e.: { an object of D is a natural number; we identify a natural number n with the set f0; : : : ; n 1g of its predecessors; { an arrow from m to n, which we call substitution, is a function : n... |

95 | A partial evaluator for the untyped lambda calculus
- Gomard, Jones
- 1991
(Show Context)
Citation Context ...e used to identify those parts of the program that can be reduced statically, and those that have to be evaluated dynamically. We take as representative of these two-level languages that described in =-=[GJ91], whi-=-ch we call PCF 2 , since it can be considered as the \PCF of two-level languages". The main aims of this paper are: to point out thesaws in the semantics and correctness proof given in [Gom92], a... |

44 | Kripke-style models for typed lambda calculus
- Mitchell, Moggi
- 1991
(Show Context)
Citation Context ...rpretations of PCF 2 are logically related. However they live in dierent categories. Therefore, before one can relate them via a (Kripke) logical relation R between typed applicative structures (see [=-=-=-MM91]), they have to be moved (via limit preserving functors) to a common category b E . PCF 2 I 1 - ^ 1 = Cpo R b D I 2 ? ^ - b E ? ^ ! = { E is the category whose objects are pairs hm 2 D; 2 D ... |

43 |
Type algebras, functor categories, and block structure
- Oles
- 1985
(Show Context)
Citation Context ...e analysis (and introduces furthersaws in the denotational semantics). The specic model we propose is based on a functor category. In denotational semantics functor categories have been advocated by [=-=Ole85]-=- to model Algollike languages, and more generally they have been used to model locality and dynamic creation (see [OT92, PS93, FMS96]). For this kind of modeling they outperform the more traditional c... |

37 | Polymorphic Binding-Time Analysis - Mossin - 1994 |

35 |
A self-applicable partial evaluator for the lambda calculus: Correctness and pragmatics. Transactions on Programming Languages and Systems
- Gomard
- 1991
(Show Context)
Citation Context ... in [GJ91], which we call PCF 2 , since it can be considered as the \PCF of two-level languages". The main aims of this paper are: to point out thesaws in the semantics and correctness proof give=-=n in [Gom92], an-=-d to propose an alternative semantics for which one can prove correctness. The interpretation of dynamic -abstraction given in [GJ91, Gom92] uses a newname construct \informally". Indeed, Gomard ... |

35 | Semantics of local variables - O’Hearn, Tennent - 1992 |

18 | A categorical account of two-level languages - Moggi - 1997 |

12 | Metalanguages and applications - Moggi - 1997 |

8 | Two-Level Functional Languages. Number 34 - Nielson, Nielson - 1992 |

7 | A fully-abstract model for the pi-calculus - Fiore, Moggi, et al. - 1996 |

6 |
Program Analysis Matters
- Gomard
- 1991
(Show Context)
Citation Context ...several experts were unable to propose a patch. Lack of precision in the denition of denotational semantics and consequentsaws in correctness proofs are not conned to [Gom92], indeed { Chapter 4 of [G=-=om9-=-1] and Chapter 8 of [JGS93] contain the same denitions, results and proofs { [GJ91] quotes the same denitions and results (but without proofs) { while [HM94] adapts Gomard's technique to establish cor... |

3 | Continuation semantics in the typed lambda-calculus - Meyer, Wand - 1985 |