Results 1 -
9 of
9
Comparing object encodings
- Journal of Functional Programming, 16:375 – 414
, 2006
"... Recent years have seen the development of several foundational models for statically typed object-oriented 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 lambda-calc ..."
Abstract
-
Cited by 109 (3 self)
- Add to MetaCart
Recent years have seen the development of several foundational models for statically typed object-oriented 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 lambda-calculus F! as a common basis, we nowo er a detailed comparison of four models: (1) a recursive-record 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 20-24, 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 6 (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 Object-Oriented 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 polynomial-time 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.
Anti-Symmetry of Higher-Order Subtyping
- In Proceedings of the 8th Annual Conference on Computer Science Logic (CSL’99), J. Flum and M. RodríguezArtalejo, Eds. Springer-Verlag LNCS 1683
, 1999
"... . This paper shows that the subtyping relation of a higherorder lambda calculus, F ! , is anti-symmetric. It exhibits the rst such proof, establishing in the process that the subtyping relation is a partial order|reexive, transitive, and anti-symmetric up to -equality. While a subtyping relat ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
. This paper shows that the subtyping relation of a higherorder lambda calculus, F ! , is anti-symmetric. It exhibits the rst such proof, establishing in the process that the subtyping relation is a partial order|reexive, transitive, and anti-symmetric up to -equality. While a subtyping relation is reexive and transitive by denition, anti-symmetry 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 well-formedness 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 Object-oriented 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.
2-Dimensional Directed Type Theory
"... Recent work on higher-dimensional type theory has explored connections between Martin-Löf type theory, higher-dimensional 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 higher-dimensional type theory has explored connections between Martin-Löf type theory, higher-dimensional 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 higher-dimensional 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 higher-dimensional 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 higher-dimensional 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 Martin-Löf identity type, in directed type theory the two-dimensional structure must be made explicit at the judgemental level. We describe a 2-dimensional directed type theory, or 2DTT, which is validated by an interpretation into the strict 2-category 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 mixed-variance case. 1
Foundations and Applications of Higher-Dimensional Directed Type Theory
"... Intuitionistic type theory [43] is an expressive formalism that unifies mathematics and computation. A central concept is the propositions-as-types 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 propositions-as-types 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 quarter-century 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.
2-Dimensional 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 non-trivial in the case that the groupoid associated to the index type is non-trivial. 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 2-dimensional in that the coherence requirements on proofs of equality are required to hold “on the

