A kernel language for abstract data types and modules.
Proc. of the international symposium on Semantics of data types
The semantics of second order polymorphic lambda calculus.
Proc. of the international symposium on Semantics of data types
Deriving structural induction in LCF.
Proc. of the international symposium on Semantics of data types
CLU reference manual
Semantics for classical AUTOMATH and related systems
Information and Control
ACM Transactions on Programming Languages and Systems (TOPLAS)
Abstract types have existential types
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The Expressiveness of Simple and Second-Order Type Structures
Journal of the ACM (JACM)
Constructions: A Higher Order Proof System for Mechanizing Mathematics
EUROCAL '85 Invited Lectures from the European Conference on Computer Algebra-Volume I - Volume I
Towards a theory of type structure
Programming Symposium, Proceedings Colloque sur la Programmation
Second-Order Logical Relations (Extended Abstract)
Proceedings of the Conference on Logic of Programs
An Informal Description of Russell
An Informal Description of Russell
An investigation of a programming language with a polymorphic type structure.
An investigation of a programming language with a polymorphic type structure.
Inheritance and persistence in database programming languages
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
Computable values can be classical
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Empty types in polymorphic lambda calculus
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Abstract types have existential type
ACM Transactions on Programming Languages and Systems (TOPLAS)
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Structural subtyping and the notion of power type
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type inference in the presence of type abstraction
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Meta-circular interpreter for a strongly typed language
Journal of Symbolic Computation
A framework for defining logics
Journal of the ACM (JACM)
On the type structure of standard ML
ACM Transactions on Programming Languages and Systems (TOPLAS)
Polymorphic type inference and abstract data types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using dependent types to express modular structure
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A general method for proving the normalization theorem for first and second order typed λ-calculi
Mathematical Structures in Computer Science
Remarks on the equational theory of non-normalizing pure type systems
Journal of Functional Programming
The development of the Emerald programming language
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Object-oriented programming: Some history, and challenges for the next fifty years
Information and Computation
Hi-index | 0.00 |
A function has a dependent type when the type of its result depends upon the value of its argument. Dependent types originated in the type theory of intuitionistic mathematics and have reappeared independently in programming languages such as CLU, Pebble, and Russell. Some of these languages make the assumption that there exists a type-of-all-types which is its own type as well as the type of all other types. Girard proved that this approach is inconsistent from the perspective of intuitionistic logic. We apply Girard's techniques to establish that the type-of-all-types assumption creates serious pathologies from a programming perspective: a system using this assumption is inherently not normalizing, term equality is undecidable, and the resulting theory fails to be a conservative extension of the theory of the underlying base types. The failure of conservative extension means that classical reasoning about programs in such a system is not sound.