Results 1 
7 of
7
Programming With Types
 CORNELL UNIVERSITY
, 2002
"... Runtime type analysis is an increasingly important linguistic mechanism in modern programming languages. Language runtime systems use it to implement services such as accurate garbage collection, serialization, cloning and structural equality. Component frameworks rely on it to provide reflection m ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
Runtime type analysis is an increasingly important linguistic mechanism in modern programming languages. Language runtime systems use it to implement services such as accurate garbage collection, serialization, cloning and structural equality. Component frameworks rely on it to provide reflection mechanisms so they may discover and interact with program interfaces dynamically. Runtime type analysis is also crucial for large, distributed systems that must be dynamically extended, because it allows those systems to check program invariants when new code and new forms of data are added. Finally, many generic userlevel algorithms for iteration, pattern matching, and unification can be defined through type analysis mechanisms. However, existing frameworks for runtime type analysis were designed for simple type systems. They do not scale well to the sophisticated type systems of modern and nextgeneration programming languages that include complex constructs such as firstclass abstract types, recursive types, objects, and type parameterization. In addition, facilities to support type analysis often require complicated
The GirardReynolds isomorphism
 Proc. of 4th Int. Symp. on Theoretical Aspects of Computer Science, TACS 2001
, 2001
"... Abstract. The secondorder polymorphic lambda calculus, F2, was independently discovered by Girard and Reynolds. Girard additionally proved a representation theorem: every function on natural numbers that can be proved total in secondorder intuitionistic propositional logic, P2, can be represented ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
Abstract. The secondorder polymorphic lambda calculus, F2, was independently discovered by Girard and Reynolds. Girard additionally proved a representation theorem: every function on natural numbers that can be proved total in secondorder intuitionistic propositional logic, P2, can be represented in F2. Reynolds additionally proved an abstraction theorem: for a suitable notion of logical relation, every term in F2 takes related arguments into related results. We observe that the essence of Girard’s result is a projection from P2 into F2, and that the essence of Reynolds’s result is an embedding of F2 into P2, and that the Reynolds embedding followed by the Girard projection is the identity. The Girard projection discards all firstorder quantifiers, so it seems unreasonable to expect that the Girard projection followed by the Reynolds embedding should also be the identity. However, we show that in the presence of Reynolds’s parametricity property that this is indeed the case, for propositions corresponding to inductive definitions of naturals, products, sums, and fixpoint types. 1
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: κ
Interactive programs and weakly final coalgebras (extended version
 Dependently typed programming, number 04381 in Dagstuhl Seminar Proceedings, 2004. Available via http://drops.dagstuhl.de/opus
"... GR/S30450/01. 2 A. Setzer, P. Hancock 1 Introduction According to MartinL"of [19]: "... I do not think that the search for logically ever more satisfactory high level programming languages can stop short of anything but ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
GR/S30450/01. 2 A. Setzer, P. Hancock 1 Introduction According to MartinL"of [19]: "... I do not think that the search for logically ever more satisfactory high level programming languages can stop short of anything but
Typesafe cast does no harm: Syntactic parametricity for Fω and beyond
"... Generic functions can specialize their behavior depending on the types of their arguments, and can even recurse over the structure of the types of their arguments. Such functions can be programmed using type representations. Generic functions programmed this way possess certain parametricity propert ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Generic functions can specialize their behavior depending on the types of their arguments, and can even recurse over the structure of the types of their arguments. Such functions can be programmed using type representations. Generic functions programmed this way possess certain parametricity properties, which become interesting in the presence of higherorder polymorphism. In this paper, we give a rigorous road map through the proof of parametricity for a calculus with higherorder polymorphism and type representations. We then use parametricity to derive the correctness of typesafe cast. 1
Abstract
, 2002
"... We define a sound and complete proof system for affine βηretractions in simple types built over many atoms, and we state simple necessary conditions for arbitrary βηretractions in simple and polymorphic types. 1 ..."
Abstract
 Add to MetaCart
We define a sound and complete proof system for affine βηretractions in simple types built over many atoms, and we state simple necessary conditions for arbitrary βηretractions in simple and polymorphic types. 1