| John C. Reynolds. Design of the programming language Forsythe. Technical Report CMU-CS-96-146, Carnegie Mellon University, 1996. |
....system. The usual strategy fails immediately, e.g. #) E (#x: x) # Where appears, what should be written This trouble is related to the fact that the type constructor is not a truth functional propositional connective. Earlier Approaches. In the language Forsythe [17], Reynolds annotates the binding of (#x.M) with a list of types, e.g. #x:# 1 # n . M ) If the abstraction body M is typable with a fixed type # for each type # i for x, then the abstraction gets the type (# 1 # # (# n # ) However, this approach can not handle dependencies between ....
J. C. Reynolds. Design of the programming language Forsythe. In P. O'Hearn, R. D. Tennent, eds., Algol-like Languages. Birkhauser, 1996.
....our use of # for strong conjunction. This requires a notion of equality on realizers, which goes beyond strict Brouwerism. Other logical connectives which have a proof functional nature include relevant implication and strong equivalence [BM94] 1. 3 Earlier Approaches In the language Forsythe [Rey96], Reynolds annotates the binding of (#x.M) with a list of types, e.g. #x:# 1 # n . M ) If the abstraction body M is typable with a fixed type # for each type # i for x, then the abstraction gets the type (# 1 # # (# n # ) However, this approach can not handle dependencies between ....
John C. Reynolds. Design of the programming language Forsythe. In P. O'Hearn and R. D. Tennent, editors, Algol-like Languages. Birkhauser, 1996.
....precisely, contravariantly in the update component and covariantly in the select component of each method type. The idea of splitting types of updatable values has already been studied in existing type systems. It has first been applied to reference types in the design of the language Forsythe [20], and subsequently been adopted by other authors [8, 18, 22] for similar purposes. However, in the context of object calculi, Split types represent a technical novelty and their use has interesting consequences in terms of both typing power and practical significance. Variant subtyping interacts ....
J. C. Reynolds. Design of the programming language Forsythe. Report CMU--CS--96--146, Carnegie Mellon University, Pittsburgh, Pennsylvania, June 28, 1996.
....at every binding site after translation to a let normal form. One can see some of the results in the current paper as a post hoc justification for this strategy (see the remarks at the end of Section 4. 4) Intersection types [4] were first incorporated into practical languages by Reynolds [12]. Pierce [11] gave examples of programming with intersection and union 15 types in a pure # calculus using a type checking mechanism that relied on syntactic markers. The first systematic study of unions in a type assignment framework by Barbanera, Dezani Ciancaglini and de Liguoro [2] identified ....
John C. Reynolds. Design of the programming language Forsythe. Technical Report CMU-CS-96-146, Carnegie Mellon University, 1996.
....elimination at every binding site after translation to a let normal form. One can see some of the results in the current paper as a post hoc justification for this strategy (see the remarks at the end of Section 4. 4) Intersection types [4] were introduced into practical languages by Reynolds [12]. Pierce [11] gave examples of programming with intersection and union types in a pure # calculus using a type checking mechanism that relied on syntactic markers. The first systematic study of unions in a type assignment framework by Barbanera, Dezani Ciancaglini and de Liguoro [2] identified a ....
John C. Reynolds. Design of the programming language Forsythe. Technical Report CMU-CS-96-146, Carnegie Mellon University, 1996.
....annotations are for the same term. The new # introduction rule will look something like this: A # M 1 : #; A # M 2 : # ; M 1 and M 2 are the same modulo type annotations ; M 3 is the combination of M 1 and M 2 A # M 3 : # # # The approach used by Reynolds in the language Forsythe [24] annotates the binding of an abstraction (#x.M) with a list of types as in (#x: # 1 # n .M ) requires the body M of the abstraction to be typable with the same type # for each possible type # i of the bound variable x, and then assigns the abstraction the type (# 1 # #) # # (# n # # ....
J. C. Reynolds. Design of the programming language Forsythe. In P. O'Hearn and R. D. Tennent, eds., Algol-like Languages. Birkhauser, 1996.
....notations are somewhat cumbersome, they have two key benefits: They solve an important technical problem: how to annotate the bound variables of terms of intersection type in an explicitly typed language. Previous approaches that allow bound variables to range over instantiation types [Rey96, Pie91] cannot express some of the typings expressible in our system. In essence, our term syntax is isomorphic to typing derivations, so every typing derivation can be expressed as a term. The notational similarity between products and intersections is specifically designed to suggest ....
John C. Reynolds. Design of the programming language Forsythe. Technical Report CMU-CS96 -146, Carnegie Mellon Univ., Pittsburgh, PA 15213, USA, June 28 1996.
....why applying a type application under a read only tuple is sound. 1 Say we have three type modifiers Source( read only) Sink( writeonly) and Reference( read write) It is known that the following subtyping relations are sound (they were formulated in Reynolds s language Forsythe [Rey96] s # t Source(s) # Source(t) s # t Sink(s) # Sink(t) Reference(t) # Sink(t) 1 Many thanks to Benjamin Pierce for helping me work this out. 167 Reference(t) # Source(t) Furthermore, the following is rule is known to be sound (but intractable) Mit86] ##.t # t[a s] where ....
John C. Reynolds. Design of the programming language Forsythe. Report CMU--CS--96--146, Carnegie Mellon University, Pittsburgh, Pennsylvania, June 1996.
No context found.
John C. Reynolds. Design of the programming language Forsythe. Technical Report CMU-CS-96-146, Carnegie Mellon University, 1996.
No context found.
John C. Reynolds. Design of the programming language Forsythe. Technical Report CMU-CS-96-146, Carnegie Mellon University, 1996.
No context found.
J. C. Reynolds. Design of the programming language Forsythe. Technical Report CMU-CS-96-146, Carnegie Mellon University, Pittsburgh, Pennsylvania, June 1996.
No context found.
John C. Reynolds. Design of the programming language Forsythe. Technical Report CMU-CS-96-146, Carnegie Mellon University, 1996.
No context found.
John C. Reynolds. Design of the programming language Forsythe. Technical Report CMU-CS-96146, Carnegie Mellon University, 1996.
No context found.
John C. Reynolds. Design of the programming language Forsythe. Technical Report CMU-CS-96-146, Carnegie Mellon University, 1996.
No context found.
John C. Reynolds. Design of the programming language Forsythe. In P. O'Hearn and R. D. Tennent, editors, Algol-like Languages. Birkhauser, 1996.
No context found.
J. C. Reynolds. Design of the programming language Forsythe. In P. O'Hearn and R. D. Tennent, eds., Algol-like Languages. Birkhauser, 1996.
No context found.
John C. Reynolds. Design of the programming language Forsythe. Report CMU--CS--96--146, Carnegie Mellon University, Pittsburgh, Pennsylvania, June 28, 1996.
No context found.
John C. Reynolds. Design of the programming language Forsythe. Technical Report CMU-CS-96-146, Carnegie Mellon University, 1996.
No context found.
John C. Reynolds. Design of the programming language Forsythe. Technical Report CMU-CS-96-146, Carnegie Mellon University, June 1996.
No context found.
John C. Reynolds. Design of the programming language Forsythe. Technical Report CMU-CS-96-146, Carnegie Mellon University, 1996.
No context found.
John C. Reynolds. Design of the programming language Forsythe. Technical Report CMU-CS-96-146, Carnegie Mellon University, 1996.
No context found.
John C. Reynolds. Design of the programming language Forsythe. Technical Report CMU-CS-96-146, Carnegie Mellon University, 1996.
No context found.
John C. Reynolds. Design of the programming language Forsythe. Technical Report CMU-CS-96-146, Carnegie Mellon University, 1996.
No context found.
John C. Reynolds. Design of the programming language Forsythe. Technical Report CMU-CS-96-146, Carnegie Mellon University, 1996.
No context found.
John C. Reynolds. Design of the programming language Forsythe. Technical Report CMU-CS-96-146, Carnegie Mellon University, 1996.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC