Results 1 
8 of
8
Typed closure conversion
 In Proceedings of the 23th Symposium on Principles of Programming Languages (POPL
, 1996
"... The views and conclusions contained in this document are those of the authors and should not be interpreted as representing o cial policies, either expressed or implied, of the Advanced Research Projects Agency or the U.S. Government. Any opinions, ndings, and conclusions or recommendations expresse ..."
Abstract

Cited by 154 (22 self)
 Add to MetaCart
The views and conclusions contained in this document are those of the authors and should not be interpreted as representing o cial policies, either expressed or implied, of the Advanced Research Projects Agency or the U.S. Government. Any opinions, ndings, and conclusions or recommendations expressed in this material are those of the We study the typing properties of closure conversion for simplytyped and polymorphiccalculi. Unlike most accounts of closure conversion, which only treat the untypedcalculus, we translate welltyped source programs to welltyped target programs. This allows later compiler phases to take advantage of types for representation analysis and tagfree garbage collection, and it facilitates correctness proofs. Our account of closure conversion for the simplytyped language takes advantage of a simple model of objects by mapping closures to existentials. Closure conversion for the polymorphic language requires additional type machinery, namely translucency in the style of Harper and Lillibridge's module calculus, to express the type of a closure.
Full Lifting of Type Parameters
 in the proceedings of Second Fuji International Workshop on Functional and Logic Programming
, 1997
"... Recently explicit type parameter passing has been studied as an attractive approach to utilizing type information in ML. An important issue in this approach is to develop an efficient method of type parameter passing. Tolmach proposed a method based on lazy substitution on types and demonstrated the ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
Recently explicit type parameter passing has been studied as an attractive approach to utilizing type information in ML. An important issue in this approach is to develop an efficient method of type parameter passing. Tolmach proposed a method based on lazy substitution on types and demonstrated the feasibility of his method in his implementation of tagfree garbage collection. However, there are still some significant costs associated with runtime construction of type parameters in his method. In this paper we propose a refinement of his method based on the transformation which completely eliminates runtime construction of type parameters. The transformation lifts type parameters that cause runtime construction so that they can be constructed statically. We present our transformation as a type preserving translation and prove the correctness of the translation. Furthermore, we describe an implementation of a compiler for Core Standard ML based on our method and compare our method to T...
Compilation based on a calculus for explicit type passing
 In Proceedings of Fuji International Workshop on Functional and Logic Programming
, 1996
"... We propose several calculi for explicit type passing that enable us to formalize compilation of polymorphic programming languages like MLasphasesoftypepreserving translations. In our calculi various manipulations for type parameters can be expressed without typing problemsthis is impossible in the ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
We propose several calculi for explicit type passing that enable us to formalize compilation of polymorphic programming languages like MLasphasesoftypepreserving translations. In our calculi various manipulations for type parameters can be expressed without typing problemsthis is impossible in the polymorphiccalculi. Furthermore, we develop the translation from an explicit typed source calculus similar to CoreXML to one of the proposed calculi which completely eliminates runtime construction type parameters. We proposeanintermediate language based on this calculus, and discuss an implementation of a compiler for Core Standard ML. 1.
Structural Recursion with Locally Scoped Names
"... This paper introduces a new recursion principle for inductively defined data modulo αequivalence of bound names that makes use of Oderskystyle local names when recursing over bound names. It is formulated in simply typed λcalculus extended with names that can be restricted to a lexical scope, tes ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
This paper introduces a new recursion principle for inductively defined data modulo αequivalence of bound names that makes use of Oderskystyle local names when recursing over bound names. It is formulated in simply typed λcalculus extended with names that can be restricted to a lexical scope, tested for equality, explicitly swapped and abstracted. The new recursion principle is motivated by the nominal sets notion of “αstructural recursion”, whose use of names and associated freshness sideconditions in recursive definitions formalizes common practice with binders. The new calculus has a simple interpretation in nominal sets equipped with name restriction operations. It is shown to adequately represent αstructural recursion while avoiding the need to verify freshness sideconditions in definitions and computations. The paper is a revised and expanded version of (Pitts, 2010). 1
Weak Typed Böhm Theorem on IMLL
 Annals of Pure and Applied Logic
, 2007
"... In the Böhm theorem workshop on Crete island, Zoran Petric called Statman’s “Typical Ambiguity theorem ” typed Böhm theorem. Moreover, he gave a new proof of the theorem based on settheoretical models of the simply typed lambda calculus. In this paper, we study the linear version of the typed Böhm ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
In the Böhm theorem workshop on Crete island, Zoran Petric called Statman’s “Typical Ambiguity theorem ” typed Böhm theorem. Moreover, he gave a new proof of the theorem based on settheoretical models of the simply typed lambda calculus. In this paper, we study the linear version of the typed Böhm theorem on a fragment of Intuitionistic Linear Logic. We show that in the multiplicative fragment of intuitionistic linear logic without the multiplicative unit 1 (for short IMLL) weak typed Böhm theorem holds. The system IMLL exactly corresponds to the linear lambda calculus without exponentials, additives and logical constants. The system IMLL also exactly corresponds to the free symmetric monoidal closed category without the unit object. As far as we know, our separation result is the first one with regard to these systems in a purely syntactical manner. 1
Algebraic Reasoning and Completeness in Typed Languages
 In Proc. 20th ACM Symposium on Principles of Programming Languages
, 1992
"... : We consider the following problem in proving observational congruences in functional languages: given a callbyname language based on the simplytyped calculus with algebraic operations axiomatized by algebraic equations E, is the set of observational congruences between terms exactly those prov ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
: We consider the following problem in proving observational congruences in functional languages: given a callbyname language based on the simplytyped calculus with algebraic operations axiomatized by algebraic equations E, is the set of observational congruences between terms exactly those provable from (fi), (j), and E? We find conditions for determining whether fijEequational reasoning is complete for proving the observational congruences between such terms. We demonstrate the power and generality of the theorems by presenting a number of easy corollaries for particular algebras. 1 Introduction The (fi) and (j) axioms form the basis for proving equations in callbyname functional languages. In these languages, (fi) and (j) yield sound program optimizations. For example, consider a version of the callbyname language PCF [11, 15] which is described in Appendix A. Our version of PCF includes simplytyped calculus, numerals 0; 1; 2; : : :, successor and predecessor, addition, ...
SPCF: Its Model, Calculus, and Computational Power (Preliminary Version)
, 1992
"... SPCF is an idealized sequential programming language, based on Plotkin's language PCF, that permits programmers and programs to observe the evaluation order of procedures. In this paper, we construct a fully abstract model of SPCF using a new mathematical framework suitable for defining fully abstra ..."
Abstract
 Add to MetaCart
SPCF is an idealized sequential programming language, based on Plotkin's language PCF, that permits programmers and programs to observe the evaluation order of procedures. In this paper, we construct a fully abstract model of SPCF using a new mathematical framework suitable for defining fully abstract models of sequential functional languages. Then, we develop an extended typed calculus to specify the operational semantics of SPCF and show that the calculus is complete for the constantfree sublanguage. Finally, we prove that SPCF is computationally complete: it can express all the computable (recursively enumerable) elements in its fully abstract model. 1 SPCF: Observing Sequentiality Most contemporary programming languages, e.g., Scheme, Pascal, Fortran, C, and ML, are "sequential", that is, they impose a serial order on the evaluation of parts of programs. Unfortunately, the familiar mathematical models for sequential languages based on continuous functions do not capture this pro...
Abstract
, 2002
"... We define a sound and complete proof system for affine βηretractions in simple types built over many atoms, and we state simple necessary conditions for arbitrary βηretractions in simple and polymorphic types. 1 ..."
Abstract
 Add to MetaCart
We define a sound and complete proof system for affine βηretractions in simple types built over many atoms, and we state simple necessary conditions for arbitrary βηretractions in simple and polymorphic types. 1