Results 1  10
of
10
Comparing object encodings
 Journal of Functional Programming, 16:375 – 414
, 2006
"... Recent years have seen the development of several foundational models for statically typed objectoriented programming. But despite their intuitive similarity, di erences in the technical machinery used to formulate the various proposals have made them di cult to compare. Using the typed lambdacalc ..."
Abstract

Cited by 119 (3 self)
 Add to MetaCart
Recent years have seen the development of several foundational models for statically typed objectoriented programming. But despite their intuitive similarity, di erences in the technical machinery used to formulate the various proposals have made them di cult to compare. Using the typed lambdacalculus F! as a common basis, we nowo er a detailed comparison of four models: (1) a recursiverecord encoding similar to the ones used by Cardelli [Car84],
Fixed points of type constructors and primitive recursion
 Computer Science Logic, 18th International Workshop, CSL 2004, 13th Annual Conference of the EACSL, Karpacz, Poland, September 2024, 2004, Proceedings, volume 3210 of Lecture Notes in Computer Science
, 2004
"... Our contribution to CSL 04 [AM04] contains a little error, which is easily corrected by 2 elementary editing steps (replacing one character and deleting another). Definition of wellformed contexts (fifth page). Typing contexts should, in contrast to kinding contexts, only contain type variable decla ..."
Abstract

Cited by 7 (3 self)
 Add to MetaCart
Our contribution to CSL 04 [AM04] contains a little error, which is easily corrected by 2 elementary editing steps (replacing one character and deleting another). Definition of wellformed contexts (fifth page). Typing contexts should, in contrast to kinding contexts, only contain type variable declarations without variance information. Hence, the second rule is too liberal; we must insist on p = ◦. The corrected set of rules is then: ⋄ cxt ∆ cxt ∆, X ◦κ cxt ∆ cxt ∆ ⊢ A: ∗ ∆, x:A cxt Definition of welltyped terms (immediately following). Since wellformed typing contexts ∆ contain no variance information, hence ◦ ∆ = ∆, we might drop the “◦ ” in the instantiation rule (fifth rule). The new set of rules is consequently, (x:A) ∈ ∆ ∆ cxt ∆ ⊢ x: A ∆, X ◦κ ⊢ t: A ∆ ⊢ t: ∀X κ. A ∆, x:A ⊢ t: B ∆ ⊢ λx.t: A → B ∆ ⊢ t: ∀X κ. A ∆ ⊢ F: κ
Depth subtyping and type inference for object calculi
 In Proc. Seventh Workshop on Foundations of ObjectOriented Languages
, 2000
"... We present a new type system based on the notion of Split types. In this system, every method is assigned two types, namely, an update type and a select type. We show that the system of Split types is strictly more powerful than the system of recursive types and that type inference remains decidable ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
We present a new type system based on the notion of Split types. In this system, every method is assigned two types, namely, an update type and a select type. We show that the system of Split types is strictly more powerful than the system of recursive types and that type inference remains decidable and feasible. We include a number of interesting examples not typable with recursive types that are typable with Split types. In particular, we demonstrate that the subtyping relation needed to encode the λcalculus into the Abadi and Cardelli’s ςcalculus holds. We also present a polynomialtime algorithm that infers Split types and show that it is sound and complete with respect to the type system. We conclude our presentation by relating the typing power of Split types to the typing power of other systems, such as, the system of recursive types with variance annotations and the system of Self types.
AntiSymmetry of HigherOrder Subtyping
 In Proceedings of the 8th Annual Conference on Computer Science Logic (CSL’99), J. Flum and M. RodríguezArtalejo, Eds. SpringerVerlag LNCS 1683
, 1999
"... . This paper shows that the subtyping relation of a higherorder lambda calculus, F ! , is antisymmetric. It exhibits the rst such proof, establishing in the process that the subtyping relation is a partial orderreexive, transitive, and antisymmetric up to equality. While a subtyping relat ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
. This paper shows that the subtyping relation of a higherorder lambda calculus, F ! , is antisymmetric. It exhibits the rst such proof, establishing in the process that the subtyping relation is a partial orderreexive, transitive, and antisymmetric up to equality. While a subtyping relation is reexive and transitive by denition, antisymmetry is a derived property. The result, which may seem obvious to the nonexpert, is technically challenging, and had been an open problem for almost a decade. In this context, typed operational semantics for subtyping oers a powerful new technology to solve the problem: of particular importance is our extended rule for the wellformedness of types with head variables. The paper also gives a presentation of F ! without a relation for equality, apparently the rst such, and shows its equivalence with the traditional presentation. 1 Introduction Objectoriented programming languages such as Smalltalk, C++, Modula 3, and ...
Type Inference for Variant Object Types
 Inform. & Comput
, 2000
"... Interpretation" held in Padova, Italy, May 1999. Special thanks to Jens Palsberg for 29 his insightful comments and suggestions. Also, to the members of the Church Group at Boston University, and to Assaf J. Kfoury for feedback reading earlier drafts. Comments of the anonymous referees were very he ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
Interpretation" held in Padova, Italy, May 1999. Special thanks to Jens Palsberg for 29 his insightful comments and suggestions. Also, to the members of the Church Group at Boston University, and to Assaf J. Kfoury for feedback reading earlier drafts. Comments of the anonymous referees were very helpful to improve the presentation. The first author was partially supported by the Italian M.U.R.S.T. Project Constructive Methods in Topology, Algebra and Program Analysis.
2Dimensional Directed Type Theory
"... Recent work on higherdimensional type theory has explored connections between MartinLöf type theory, higherdimensional category theory, and homotopy theory. These connections suggest a generalization of dependent type theory to account for computationally relevant proofs of propositional equality ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Recent work on higherdimensional type theory has explored connections between MartinLöf type theory, higherdimensional category theory, and homotopy theory. These connections suggest a generalization of dependent type theory to account for computationally relevant proofs of propositional equality—for example, taking IdSet A B to be the isomorphisms between A and B. The crucial observation is that all of the familiar type and term constructors can be equipped with a functorial action that describes how they preserve such proofs. The key benefit of higherdimensional type theory is that programmers and mathematicians may work up to isomorphism and higher equivalence, such as equivalence of categories. In this paper, we consider a further generalization of higherdimensional type theory, which associates each type with a directed notion of transformation between its elements. Directed type theory accounts for phenomena not expressible in symmetric higherdimensional type theory, such as a universe set of sets and functions, and a type Ctx used in functorial abstract syntax. Our formulation requires two main ingredients: First, the types themselves must be reinterpreted to take account of variance; for example, a Π type is contravariant in its domain, but covariant in its range. Second, whereas in symmetric type theory proofs of equivalence can be internalized using the MartinLöf identity type, in directed type theory the twodimensional structure must be made explicit at the judgemental level. We describe a 2dimensional directed type theory, or 2DTT, which is validated by an interpretation into the strict 2category Cat of categories, functors, and natural transformations. We also discuss applications of 2DTT for programming with abstract syntax, generalizing the functorial approach to syntax to the dependently typed and mixedvariance case. 1
Foundations and Applications of HigherDimensional Directed Type Theory
"... Intuitionistic type theory [43] is an expressive formalism that unifies mathematics and computation. A central concept is the propositionsastypes principle, according to which propositions are interpreted as types, and proofs of a proposition are interpreted as programs of the associated type. Mat ..."
Abstract
 Add to MetaCart
Intuitionistic type theory [43] is an expressive formalism that unifies mathematics and computation. A central concept is the propositionsastypes principle, according to which propositions are interpreted as types, and proofs of a proposition are interpreted as programs of the associated type. Mathematical propositions are thereby to be understood as specifications, or problem descriptions, that are solved by providing a program that meets the specification. Conversely, a program can, by the same token, be understood as a proof of its type viewed as a proposition. Over the last quartercentury type theory has emerged as the central organizing principle of programming language research, through the identification of the informal concept of language features with type structure. Numerous benefits accrue from the identification of proofs and programs in type theory. First, it provides the foundation for integrating types and verification, the two most successful formal methods used to ensure the correctness of software. Second, it provides a language for the mechanization of mathematics in which proof checking is equivalent to type checking, and proof search is equivalent to writing a program to meet a specification.
2Dimensional Directed Dependent Type Theory
 SUBMITTED TO POPL 2011
, 2011
"... The groupoid interpretation of dependent type theory given by Hofmann and Streicher associates to each closed type a category whose objects represent the elements of that type and whose maps represent proofs of equality of elements. The categorial structure ensures that equality is reflexive (identi ..."
Abstract
 Add to MetaCart
The groupoid interpretation of dependent type theory given by Hofmann and Streicher associates to each closed type a category whose objects represent the elements of that type and whose maps represent proofs of equality of elements. The categorial structure ensures that equality is reflexive (identity maps) and transitive (closure under composition); the groupoid structure, which demands that every map be invertible, ensures symmetry. Families of types are interpreted as functors; the action on maps (equality proofs) ensures that families respect equality of elements of the index type. The functorial action of a type family is computationally nontrivial in the case that the groupoid associated to the index type is nontrivial. For example, one may identity elements of a universe of sets up to isomorphism, in which case the action of a family of types indexed by sets must respect set isomorphism. The groupoid interpretation is 2dimensional in that the coherence requirements on proofs of equality are required to hold “on the
and
"... Existing type systems for object calculi [2] are based on invariant subtyping. Subtyping invariance is required for soundness of static typing in the presence of method overrides, but it is often in the way of the expressive power of the type system. Flexibility of static typing can be recovered in ..."
Abstract
 Add to MetaCart
Existing type systems for object calculi [2] are based on invariant subtyping. Subtyping invariance is required for soundness of static typing in the presence of method overrides, but it is often in the way of the expressive power of the type system. Flexibility of static typing can be recovered in different ways: in firstorder systems, by the adoption of object types with variance annotations, in secondorder systems by resorting to Self types. Type inference is known to be pcomplete for firstorder systems of finite and recursive object types, and npcomplete for a restricted version of Self types. The complexity of type inference for systems with variance annotations is yet unknown. This paper presents a new object type system based on the notion of Split types, a form of object types where every method is assigned two types, namely, an update type and a select type. The subtyping relation that arises for Split types is variant and, as a result, subtyping can be performed both in width and in depth. The new type system generalizes all the existing firstorder type systems for objects, including systems based on variance annotations. Interestingly, the additional expressive power does not affect the complexity of the type inference problem, as we show by presenting an O(n 3) inference algorithm. 1.