Results 1  10
of
15
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 163 (21 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.
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 15 (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
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 13 (0 self)
 Add to MetaCart
(Show Context)
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
(Show Context)
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.
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 4 (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
Extended firstorder logic
, 2009
"... We consider the EFO fragment of simple type theory, which restricts quantification and equality to base types but retains lambda abstractions and higherorder variables. We show that this fragment enjoys the characteristic properties of firstorder logic: complete proof systems, compactness, and c ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
We consider the EFO fragment of simple type theory, which restricts quantification and equality to base types but retains lambda abstractions and higherorder variables. We show that this fragment enjoys the characteristic properties of firstorder logic: complete proof systems, compactness, and countable models. We obtain these results with an analytic tableau system and a concomitant model existence lemma. All results are with respect to standard models. The tableau system is wellsuited for proof search and yields decision procedures for substantial fragments of EFO. 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
(Show Context)
: 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, ...
A NonUniform Finitary Relational Semantics of System T
, 2009
"... We study iteration and recursion operators in the denotational semantics of typed λcalculi derived from the multiset relational model of linear logic. Although these operators are defined as fixpoints of typed functionals, we prove them finitary in the sense of Ehrhard’s finiteness spaces. 1 ..."
Abstract
 Add to MetaCart
We study iteration and recursion operators in the denotational semantics of typed λcalculi derived from the multiset relational model of linear logic. Although these operators are defined as fixpoints of typed functionals, we prove them finitary in the sense of Ehrhard’s finiteness spaces. 1
The injectivity of denotational semantics for linear
, 2005
"... logic proofnets ..."
(Show Context)
CarnegieMellon Univ.
"... Abstract. The model theory of simply typed and polymorphic (secondorder) lambda calculus changes when types are allowed to be empty. For example, the “polymorphic Boolean ” type really has ezuctly two elements in a polymorphic model only if the “absurd” type Vt.t is empty. The standard pr) axioms ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. The model theory of simply typed and polymorphic (secondorder) lambda calculus changes when types are allowed to be empty. For example, the “polymorphic Boolean ” type really has ezuctly two elements in a polymorphic model only if the “absurd” type Vt.t is empty. The standard pr) axioms and equational inference rules which are complete when all types are nonempty are not complete for models with empty types. Without. a little care about variable elimination, the standard rules are not even sound for empty types. We extend the standard system to obtain a complete proof system for models with empty ty@es. The completeness proof is complicated by the fact that equational “term models ” are not so easily obtained: in contrast to the nonempty case, not every theory with empty types is the theory of a single model. 1 Why empty types? Functional languages with polymorphic control constructs and polymorphic data types support an attractive programming style which has been suggested by several authors [5), PI9 PI, b4, P % 1141 [161, m [191, PI. For example, Booleans and conditional operators aGse directly from polymorphic concepts. Namely, the type polybool::=vt.t,t+t is often called the type of polymorphic Booleans. One closed term of type polybool is