Results 1 
8 of
8
Polymorphic type assignment and CPS conversion
 LISP and Symbolic Computation
, 1993
"... Meyer and Wand established that the type of a term in the simply typedcalculus may be related in a straightforward manner to the type of its callbyvalue CPS transform. This typing property maybe extended to Schemelike continuationpassing primitives, from which the soundness of these extensions ..."
Abstract

Cited by 37 (10 self)
 Add to MetaCart
(Show Context)
Meyer and Wand established that the type of a term in the simply typedcalculus may be related in a straightforward manner to the type of its callbyvalue CPS transform. This typing property maybe extended to Schemelike continuationpassing primitives, from which the soundness of these extensions follows. We study the extension of these results to the DamasMilner polymorphic type assignment system under both the callbyvalue and callbyname interpretations. We obtain CPS transforms for the callbyvalue interpretation, provided that the polymorphic let is restricted to values, and for the callbyname interpretation with no restrictions. We prove that there is no callbyvalue CPS transform for the full DamasMilner language that validates the MeyerWand typing property and is equivalent to the standard callbyvalue transform up toconversion. 1
Relational interpretations of recursive types in an operational setting
 Information and Computation
, 1997
"... Submitted for publication to Information and Computation. A summary of this paper appeared in TACS '97. ..."
Abstract

Cited by 35 (3 self)
 Add to MetaCart
(Show Context)
Submitted for publication to Information and Computation. A summary of this paper appeared in TACS '97.
Defunctionalized interpreters for programming languages
, 2008
"... This document illustrates how functional implementations of formal semantics (structural operational semantics, reduction semantics, smallstep and bigstep abstract machines, natural semantics, and denotational semantics) can be transformed into each other. These transformations were foreshadowed ..."
Abstract

Cited by 22 (4 self)
 Add to MetaCart
(Show Context)
This document illustrates how functional implementations of formal semantics (structural operational semantics, reduction semantics, smallstep and bigstep abstract machines, natural semantics, and denotational semantics) can be transformed into each other. These transformations were foreshadowed by Reynolds in Definitional Interpreters for HigherOrder Programming Languages for functional implementations of denotational semantics, natural semantics, and bigstep abstract machines using closure conversion, CPS transformation, and defunctionalization. Over the last few years, the author and his students have further observed that machines are related using fusion by xedpoint promotion and that functional implementations of reduction semantics and of smallstep abstract machines are related using refocusing and transition
Infer: A Staticallytyped Dialect of Scheme  Preliminary Tutorial and Documentation
, 1993
"... this document. Reports of further bugs, as well as design suggestions, are welcome. 2 Tutorial ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
this document. Reports of further bugs, as well as design suggestions, are welcome. 2 Tutorial
Environments, Continuation Semantics and Indexed Categories
 Theoretical Aspects of Computer Software, number 1281 in Lect. Notes Comp. Sci
, 1997
"... . There have traditionally been two approaches to modelling environments, one by use of ønite products in Cartesian closed categories, the other by use of the base categories of indexed categories with structure. Recently, there have been more general deønitions along both of these lines: the ørst g ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
(Show Context)
. There have traditionally been two approaches to modelling environments, one by use of ønite products in Cartesian closed categories, the other by use of the base categories of indexed categories with structure. Recently, there have been more general deønitions along both of these lines: the ørst generalising from Cartesian to symmetric premonoidal categories, the second generalising from indexed categories with speciøed structure to categories. The added generality is not of the purely mathematical kind; in fact it is necessary to extend semantics from the logical calculi studied in, say, Type Theory to more realistic programming language fragments. In this paper, we establish an equivalence between these two recent notions. We then use that equivalence to study semantics for continuations. We give three category theoretic semantics for modelling continuations and show the relationships between them. The ørst is given by a continuations monad. The second is based on a symmetric prem...
Interpreting functions as πcalculus processes: a tutorial
, 1999
"... This paper is concerned with the relationship betweencalculus and ��calculus. Thecalculus talks about functions and their applicative behaviour. This contrasts with the ��calculus, that talks about processes and their interactive behaviour. Application is a special form of interaction, and there ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
This paper is concerned with the relationship betweencalculus and ��calculus. Thecalculus talks about functions and their applicative behaviour. This contrasts with the ��calculus, that talks about processes and their interactive behaviour. Application is a special form of interaction, and therefore functions can be seen as a special form of processes. We study how the functions of thecalculus (the computable functions) can be represented as ��calculus processes. The ��calculus semantics of a language induces a notion of equality on the terms of that language. We therefore also analyse the equality among functions that is induced by their representation as ��calculus processes. This paper is intended as a tutorial. It however contains some original contributions. The main ones are: the use of wellknown Continuation Passing Style transforms to derive the encodings into ��calculus and prove their correctness; the encoding of typedcalculi.
Typing FirstClass Continuations in ML
, 1993
"... David MacQueen x An extension of ML with continuation primitives similar to those found in Scheme is considered. Anumber of alternative type systems are discussed, and several programming examples are given. A continuationbased operational semantics is de ned for a small, purely functional, languag ..."
Abstract
 Add to MetaCart
(Show Context)
David MacQueen x An extension of ML with continuation primitives similar to those found in Scheme is considered. Anumber of alternative type systems are discussed, and several programming examples are given. A continuationbased operational semantics is de ned for a small, purely functional, language, and the soundness of the DamasMilner polymorphic type assignment system with respect to this semantics is proved. The full DamasMilner type system is shown to be unsound in the presence of rstclass continuations. Restrictions on polymorphism similar to those introduced in connection with reference types are shown to su ce for soundness. 1
Polymorphic Type Assignment and CPS Conversion
"... Abstract. Meyer and Wand established that the type of a term in the simply typedcalculus may be related in a straightforward manner to the type of its callbyvalue CPS transform. This typing property may be extended to Schemelike continuationpassing primitives, from which the soundness of these ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. Meyer and Wand established that the type of a term in the simply typedcalculus may be related in a straightforward manner to the type of its callbyvalue CPS transform. This typing property may be extended to Schemelike continuationpassing primitives, from which the soundness of these extensions follows. We study the extension of these results to the DamasMilner polymorphic type assignment system under both the callbyvalue and callbyname interpretations. We obtain CPS transforms for the callbyvalue interpretation, provided that the polymorphic let is restricted to values, and for the callbyname interpretation with no restrictions. We prove thatthereis no callbyvalue CPS transform for the full DamasMilner language that validates the MeyerWand typing property and is equivalent to the standard callbyvalue transform up to operational equivalence. 1.