Results 1  10
of
70
Polymorphic Bytecode: Compositional Compilation for Javalike Languages
 In ACM Symp. on Principles of Programming Languages 2005
, 2005
"... We define compositional compilation as the ability to typecheck source code fragments in isolation, generate corresponding binaries, and link together fragments whose mutual assumptions are satisfied, without reinspecting the code. Even though compositional compilation is a highly desirable feature, ..."
Abstract

Cited by 39 (17 self)
 Add to MetaCart
We define compositional compilation as the ability to typecheck source code fragments in isolation, generate corresponding binaries, and link together fragments whose mutual assumptions are satisfied, without reinspecting the code. Even though compositional compilation is a highly desirable feature, in Javalike languages it can hardly be achieved. This is due to the fact that the bytecode generated for a fragment (say, a class) is not uniquely determined by its source code, but also depends on the compilation context.
Tridirectional Typechecking
, 2004
"... In prior work we introduced a pure type assignment system that encompasses a rich set of property types, including intersections, unions, and universally and existentially quantified dependent types. In this paper ..."
Abstract

Cited by 36 (8 self)
 Add to MetaCart
In prior work we introduced a pure type assignment system that encompasses a rich set of property types, including intersections, unions, and universally and existentially quantified dependent types. In this paper
Mllike inference for classifiers
 In ESOP
, 2004
"... Abstract. Environment classifiers were proposed as a new approach to typing multistage languages. Safety was established in the simplytyped and letpolymorphic settings. While the motivation for classifiers was the feasibility of inference, this was in fact not established. This paper starts with ..."
Abstract

Cited by 27 (7 self)
 Add to MetaCart
Abstract. Environment classifiers were proposed as a new approach to typing multistage languages. Safety was established in the simplytyped and letpolymorphic settings. While the motivation for classifiers was the feasibility of inference, this was in fact not established. This paper starts with the observation that inference for the full classifierbased system fails. We then identify a subset of the original system for which inference is possible. This subset, which uses implicit classifiers, retains significant expressivity (e.g. it can embed the calculi of Davies and Pfenning) and eliminates the need for classifier names in terms. Implicit classifiers were implemented in MetaOCaml, and no changes were needed to make an existing test suite acceptable by the new type checker. 1
Principality and Type Inference for Intersection Types Using Expansion Variables
, 2003
"... Principality of typings is the property that for each typable term, there is a typing from which all other typings are obtained via some set of operations. Type inference is the problem of finding a typing for a given term, if possible. We define an intersection type system which has principal typ ..."
Abstract

Cited by 26 (12 self)
 Add to MetaCart
Principality of typings is the property that for each typable term, there is a typing from which all other typings are obtained via some set of operations. Type inference is the problem of finding a typing for a given term, if possible. We define an intersection type system which has principal typings and types exactly the strongly normalizable #terms. More interestingly, every finiterank restriction of this system (using Leivant's first notion of rank) has principal typings and also has decidable type inference.
M³: Mobility Types for Mobile Processes in Mobile Ambients
, 2002
"... We present an ambientlike calculus in which the open capability is dropped, and a new form of "lightweight" process mobility is introduced. The calculus comes equipped with a type system that allows the kind of values exchanged in communications and the access and mobility properties of processes t ..."
Abstract

Cited by 25 (6 self)
 Add to MetaCart
We present an ambientlike calculus in which the open capability is dropped, and a new form of "lightweight" process mobility is introduced. The calculus comes equipped with a type system that allows the kind of values exchanged in communications and the access and mobility properties of processes to be controlled. A type inference procedure determines the "minimal" requirements to accept a system or a component as well typed. This gives a kind of principal typing. As an expressiveness test, we show that some well known calculi of concurrency and mobility can be encoded in our calculus in a natural way.
System E: Expansion variables for flexible typing with linear and nonlinear types and intersection types
 IN PROGRAMMING LANGUAGES & SYSTEMS, 13TH EUROPEAN SYMP. PROGRAMMING
, 2004
"... Types are often used to control and analyze computer programs. ..."
Abstract

Cited by 25 (15 self)
 Add to MetaCart
Types are often used to control and analyze computer programs.
Expansion: the Crucial Mechanism for Type Inference with Intersection Types: Survey and Explanation
 In: (ITRS ’04
, 2005
"... The operation of expansion on typings was introduced at the end of the 1970s by Coppo, Dezani, and Venneri for reasoning about the possible typings of a term when using intersection types. Until recently, it has remained somewhat mysterious and unfamiliar, even though it is essential for carrying ..."
Abstract

Cited by 17 (7 self)
 Add to MetaCart
The operation of expansion on typings was introduced at the end of the 1970s by Coppo, Dezani, and Venneri for reasoning about the possible typings of a term when using intersection types. Until recently, it has remained somewhat mysterious and unfamiliar, even though it is essential for carrying out compositional type inference. The fundamental idea of expansion is to be able to calculate the effect on the final judgement of a typing derivation of inserting a use of the intersectionintroduction typing rule at some (possibly deeply nested) position, without actually needing to build the new derivation.
PolyA: True type polymorphism for Mobile Ambients
, 2004
"... Previous type systems for mobility calculi (the original Mobile Ambients, its variants and descendants, e.g., Boxed Ambients and Safe Ambients, and other related systems) offer little support for generic mobile agents. Previous systems either do not handle communication at all or globally assign fix ..."
Abstract

Cited by 14 (4 self)
 Add to MetaCart
Previous type systems for mobility calculi (the original Mobile Ambients, its variants and descendants, e.g., Boxed Ambients and Safe Ambients, and other related systems) offer little support for generic mobile agents. Previous systems either do not handle communication at all or globally assign fixed communication types to ambient names that do not change as an ambient moves around or interacts with other ambients. This makes it hard to type examples such as a messenger ambient that uses communication primitives to collect a message of nonpredetermined type and deliver it to a nonpredetermined destination. In contrast, we present our new type system PolyA. Instead of assigning communication types to ambient names, PolyA assigns a type to each process P that gives upper bounds on (1) the possible ambient nesting shapes of any process P ′ to which P can evolve, (2) the values that may be communicated at each location, and (3) the capabilities that can be used at each location. Because PolyA can type generic mobile agents, we believe PolyA is the first type system for a mobility calculus that provides type polymorphism comparable in power to polymorphic type systems for the λcalculus. PolyA is easily extended to ambient calculus variants. A restriction of PolyA has principal typings. 1
A polymorphic modal type system for Lisplike multistaged languages
 In The 33rd ACM SIGPLANSIGACT Symposium on Principles of Programming Languages
, 2006
"... This article presents a polymorphic modal type system and its principal type inference algorithm that conservatively extend ML by all of Lisp’s staging constructs (the quasiquotation system). The combination is meaningful because ML is a practical higherorder, impure, and typed language, while Lis ..."
Abstract

Cited by 14 (0 self)
 Add to MetaCart
This article presents a polymorphic modal type system and its principal type inference algorithm that conservatively extend ML by all of Lisp’s staging constructs (the quasiquotation system). The combination is meaningful because ML is a practical higherorder, impure, and typed language, while Lisp’s quasiquotation system has long evolved complying with the demands from multistaged programming practices. Our type system supports open code, unrestricted operations on references, intentional variablecapturing substitution as well as captureavoiding substitution, and lifting values into code, whose combination escaped all the previous systems.