Results 1 
7 of
7
Explicit Polymorphism and CPS Conversion
 IN TWENTIETH ACM SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES
, 1992
"... We study the typing properties of CPS conversion for an extension of F ! with control operators. Two classes of evaluation strategies are considered, each with callbyname and callbyvalue variants. Under the "standard" strategies, constructor abstractions are values, and constructor app ..."
Abstract

Cited by 65 (9 self)
 Add to MetaCart
We study the typing properties of CPS conversion for an extension of F ! with control operators. Two classes of evaluation strategies are considered, each with callbyname and callbyvalue variants. Under the "standard" strategies, constructor abstractions are values, and constructor applications can lead to nontrivial control effects. In contrast, the "MLlike" strategies evaluate beneath constructor abstractions, reflecting the usual interpretation of programs in languages based on implicit polymorphism. Three continuation passing style sublanguages are considered, one on which the standard strategies coincide, one on which the MLlike strategies coincide, and one on which all the strategies coincide. Compositional, typepreserving CPS transformation algorithms are given for the standard strategies, resulting in terms on which all evaluation strategies coincide. This has as a corollary the soundness and termination of welltyped programs under the standard evaluation strategies. A similar result is obtained for the MLlike callbyname strategy. In contrast, such results are obtained for the callby value MLlike strategy only for a restricted sublanguage in which constructor abstractions are limited to values.
Programming in HigherOrder Typed LambdaCalculi
, 1989
"... on Foundations of Computer Science, pages 279282, IEEE, October 1988. [55] J. SteensgaardMadsen. Typed representation of objects by functions. ACM Transactions on Programming Languages and Systems, 11(1):6789, January 1989. 71 [31] [33] [34] [35] Grard Huet. A unification algorithm for ty ..."
Abstract

Cited by 31 (5 self)
 Add to MetaCart
(Show Context)
on Foundations of Computer Science, pages 279282, IEEE, October 1988. [55] J. SteensgaardMadsen. Typed representation of objects by functions. ACM Transactions on Programming Languages and Systems, 11(1):6789, January 1989. 71 [31] [33] [34] [35] Grard Huet. A unification algorithm for typed Acalculus. Theoretical Computer Science, 1:2757, 1975. Grard Huet. A uniform approach to type theory. 1988. Unpublished notes. Grard Huet and Bernard Lang. Proving and applying program transformations expressed with secondorder patterns. Acta Informatica, 11:3155, 1978. Daniel Leivant. Polymorphic type inference. In Proceedings of the loth Annual ACM Symposium on Principles of Programming Languages, ACM, 1983. Daniel Leivant. Reasoning about functional programs and complexity classes associated with type disciplines. In Proccedings of the Twenty Fourth Annual Symposium on the Foundations of Computer Science, pages 160169, IEEE, 1983. Per MartinLSf. Hauptsatz for the intuition
The complexity of type inference for higherorder typed lambda calculi
 In. Proc. 18th ACM Symposium on the Principles of Programming Languages
, 1991
"... We analyse the computational complexity of type inference for untyped X,terms in the secondorder polymorphic typed Xcalculus (F2) invented by Girard and Reynolds, as well as higherorder extensions F3,F4,...,/ ^ proposed by Girard. We prove that recognising the i^typable terms requires exponential ..."
Abstract

Cited by 31 (12 self)
 Add to MetaCart
We analyse the computational complexity of type inference for untyped X,terms in the secondorder polymorphic typed Xcalculus (F2) invented by Girard and Reynolds, as well as higherorder extensions F3,F4,...,/ ^ proposed by Girard. We prove that recognising the i^typable terms requires exponential time, and for Fa the problem is nonelementary. We show as well a sequence of lower bounds on recognising the i^typable terms, where the bound for Fk+1 is exponentially larger than that for Fk. The lower bounds are based on generic simulation of Turing Machines, where computation is simulated at the expression and type level simultaneously. Nonaccepting computations are mapped to nonnormalising reduction sequences, and hence nontypable terms. The accepting computations are mapped to typable terms, where higherorder types encode reduction sequences, and firstorder types encode the entire computation as a circuit, based on a unification simulation of Boolean logic. A primary technical tool in this reduction is the composition of polymorphic functions having different domains and ranges. These results are the first nontrivial lower bounds on type inference for the Girard/Reynolds
The Ergo Support System: An integrated set of tools for prototyping integrated environments
 SCHOOL OF COMPUTER SCIENCE, CARNEGIE MELLON UNIVERSITY, PITTSBURGH
, 1988
"... The Ergo Support System (ESS) is an engineering framework for experimentation and prototyping to support the application of formal methods to program development, ranging from program analysis and derivation to prooftheoretic approaches. The ESS is a growing suite of tools that are linked together ..."
Abstract

Cited by 15 (3 self)
 Add to MetaCart
(Show Context)
The Ergo Support System (ESS) is an engineering framework for experimentation and prototyping to support the application of formal methods to program development, ranging from program analysis and derivation to prooftheoretic approaches. The ESS is a growing suite of tools that are linked together by means of a set of abstract interfaces. The principal engineering challenge is the design of abstract interfaces that are semantically rich and yet flexible enough to permit experimentation with a wide variety of formallybased program and proof development paradigms and associated languages. As part of the design of ESS, several abstract interface designs have been developed that provide for more effective component integration while preserving flexibility and the potential for scaling. A benefit of the open architecture approach of ESS is the ability to mix formal and informal approaches in the same environment architecture. The ESS has already been applied in a number of formal methods experiments.
A Type System For Certified Runtime Type Analysis
, 2002
"... Modern programming paradigms are increasingly giving rise to applications that require type information at runtime. For example, services like garbage collection, marshalling, and serialization need to analyze type information at runtime. When compiling code which uses runtime type inspections, mos ..."
Abstract
 Add to MetaCart
Modern programming paradigms are increasingly giving rise to applications that require type information at runtime. For example, services like garbage collection, marshalling, and serialization need to analyze type information at runtime. When compiling code which uses runtime type inspections, most existing compilers use untyped intermediate languages and discard type information at an early stage. Unfortunately, such an approach is incompatible with typebased certifying compilation. A certifying compiler generates not only the code but also a proof that the code obeys a security policy. Therefore, one need not trust the correctness of a compiler generating certified code, instead one can verify the correctness of the generated code. This allows a code consumer to accept code from untrusted sources which is specially advantageous in a networked environment. In practice, most certifying compilers use a type system for generating and encoding the proofs. These systems are called typebased certifying compilers. This dissertation describes a type system that can be used for supporting runtime type analysis in typebased certifying compilers. The type system has two novel features. First, type analysis can be applied to the type of any runtime value. In particular quantified
3. DATES COVERED 4. TITLE AND SUBTITLE
, 2002
"... Report Documentation Page Form ApprovedOMB No. 07040188 Public reporting burden for the collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and maintaining the data needed, and completing an ..."
Abstract
 Add to MetaCart
(Show Context)
Report Documentation Page Form ApprovedOMB No. 07040188 Public reporting burden for the collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information, including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, Arlington VA 222024302. Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to a penalty for failing to comply with a collection of information if it does not display a currently valid OMB control number.
DISTRIBUTION STATEMENT A
"... Writing (meta)programs that manipulate other (object) programs poses significant technical problems when the objectlanguage itself has a notion of binders and variable occurrences. Higherorder abstract syntax is a representation of object programs that has recently been the focus of several stu ..."
Abstract
 Add to MetaCart
(Show Context)
Writing (meta)programs that manipulate other (object) programs poses significant technical problems when the objectlanguage itself has a notion of binders and variable occurrences. Higherorder abstract syntax is a representation of object programs that has recently been the focus of several studies. This paper points out a number of limitations of using higher order syntax in a functional context, and argues that DALI, a language based on a simple and elegant proposal made by Dale Miller ten years ago can provide superior support for manipulating such objectlanguages. Miller's original proposal, however, did not provide any formal treatment. To fill this gap, we present both a bigstep and a reduction semantics for DALI, and summarize the results of our extensive study of the semantics, including the rather involved proof of the soundness of the reduction semantics with respect to the bigstep semantics. Because our formal development is carried out for the untyped version of the language, we hope it will serve as a solid basis for investigating type system(s) for DALI. 1.