63 citations found. Retrieving documents...
J. C. Reynolds, Three approaches to type structure. In Mathematical Foundations of Software Development, LNCS 185, Springer-Verlag, 1985.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Monads and Composable Continuations - Wadler (1993)   (2 citations)  (Correct)

....translating let into loses polymorphism. Thus we will limit our attention, as do Danvy and Filinski and Murthy, to a source language without let polymorphism. This is a serious restriction; an alternative approach might be based on stronger type systems such as polymorphic lambda calculus [15]. 2.3. For categorists only Categorists will recognize M as a monad with unit as its unit and as its Kleisli star. The free use of lambda calculus means that we are working in a cartesian closed category. It is assumed that is itself represented as an arrow in that category, rather than just ....

Reynolds, J. C. Three approaches to type structure. In Mathematical Foundations of Software Development, LNCS 185, Springer-Verlag (1985).


Principal Type Schemes for Functional Programs with Overloading.. - Smith (1994)   (34 citations)  (Correct)

....bool bool : bool even though doesn t work on bool Inclusion rule (hypoth) allows inclusion assumptions to be used, and rules (reflex) and (trans) assert that is reflexive and transitive. The remaining inclusion rules express the well known monotonicities of the various type constructors [13]. For example, is antimonotonic in its first argument and monotonic in its second argument. The name ( Gamma) compactly represents this information. Finally, rule ( links the inclusion sublogic to the typing sublogic it says that an expression of type has any supertype of as well. ....

John C. Reynolds. Three approaches to type structure. In Mathematical Foundations of Software Development, volume 185 of Lecture Notes in Computer Science, pages 97--138. Springer-Verlag, 1985. 31


Typechecking is Undecidable When 'type' is a Type - Reinhold (1989)   (Correct)

....can be represented in this cal culus [Girard 1972, Statman 1981, Fortune et al. 1983] there are no known un contrived examples of total recursive functions that are not in this class. Many interesting generic data types can be defined, including pairs, unions, and homogeneous lists and trees [Reynolds 1985, BShm Berarducci 1985] Going beyond the polymorphic A calculus, in a A calculus with dependent function types and the type of all types we can apply the programming techniques of the more powerful Calculus of Constructions [Coquand 1985b, Mobring 1986, Coquand Huet 1988] For example, we ....

....A t3) This is essentially a typed version of the pairing combinator of the untyped Acalculus. For a: A and b: B, the following pairing axioms are easily verified: left A B (pair A B a b) a (right n B (pair n B a b) b This definition easily generalizes to tuples of arbitrary length [Reynolds 1985]. Unions. An element of a union, or sum, type A B contains either an element of A or an element of B, together with an indication of which kind of element it contains. A union type has one injection operation for each of the component types, and a projection operation that allows the element ....

[Article contains additional citation context not shown here]

John C. Reynolds. Three approaches to type structure. In Hartmut Ehrig, Christlane Floyd, Maurice Nivat, and James Thatcher, editors, Math- ematical Foundations of Software Development, Volume 185 of Lecture Notes in Computer Science, Springer-Verlag, 1985.


Static Correctness of Hierarchical Procedures - Schwartzbach (1990)   (Correct)

....is enabled by the partial product aspect of the type ordering. There have been many suggestions for languages with a similar subtype polymorphism. Ours is unique in allowing truly imperative features such as assignments, subvariables, and variable parameters. Many systems rely on coercions [1,2,4,6] which have distinct disadvantages such as type loss and the update problem [2] We avoid these; for example, the procedure Proc Id(var skip end Id will be the identity on both the type and the value of any argument. The presence of variables or mutable types [1,2] have so far lead to unsafe ....

Reynolds, J.C. "Three approaches to type structure.", In Mathematical Foundations of Software Development, LNCS Vol 185, SpringerVerlag 1985.


Typing and Subtyping - For Mobile Processes   (Correct)

....a sink for elements of T , but not the other way around. The ref constructor, like our b tag, is constrained by both requirements and behaves non variantly in the subtype relation. A different analogy relates our definition of subsorting and the subtype relations found in some typed calculi [Car86, CW85, Rey85]. A function f with type S T can be thought of as a process that reads a value of type S from one location and writes a result of type T to another; to start f , we send it a pair of channels along a request channel a f , telling it where to find its argument and where to put its result. The sort ....

John Reynolds. Three approaches to type structure. In Mathematical Foundations of Software Development. Springer-Verlag, 1985. Lecture Notes in Computer Science No. 185.


Computational Interpretations of Linear Logic - Abramsky (1993)   (225 citations)  (Correct)

....into ILL we have already mentioned. The significance of this is that System F can represent all provably total recursive functions of second order arithmetic [GLT89] Moreover, inductive types such as lists and trees can be encoded in System F. For good surveys of programming in System F, see [GLT89, Rey85, Hue90]. Determinacy and Convergence We now turn to the basic metatheory of System LF. The two major results for System F are undoubtedly that it satisfies the Church Rosser and Strong Normalization properties [GLT89] These results concern reduction, and apply to all strategies. The Church Rosser ....

J. C. Reynolds. Three approaches to type structure. In H. Ehrig, C. Floyd, M. Nivat, and J. Thatcher, editors, Mathematical Foundations of Software Development, volume 185 of Lecture Notes in Computer Science, pages 97--138. Springer-Verlag, 1985.


Developments in Object-Oriented Type Systems - Schwartzbach (1994)   (5 citations)  (Correct)

.... Beta are described in [36, 37, 56, 62] Smalltalk in [42, 43] CLOS in [53] Self in [108, 29, 26] C in [98, 97, 100] and Eiffel in [64, 65, 39] Slide 21 26 The formalization of coercion functions is found in [89, 90] Slide 27 The use of coercion theory for phrase types is developed in [91, 75, 92]; and for implicit scalings in [103] Slide 28 38 The basic encoding is presented in the papers [17, 21] Slide 32 34 The update problem is made clear in [12] Slide 35 The idea of mutable types is presented in [18] Slide 40 Simula s types are described in [36] C s types in [98, 38] ....

John C. Reynolds. Three approaches to type structure. In Mathematical Foundations of Software Development. SpringerVerlag (LNCS 185), 1985.


On the Unusual Effectiveness of Logic in Computer Science - Halpern, Harper.. (2001)   (1 citation)  (Correct)

....essential for reasoning about programs. It suggests new techniques for implementing compilers that improve the efficiency and integrity of generated code. Type theory is the study of type systems. Reynolds defines a type system to be a syntactic discipline for enforcing levels of abstraction [Rey85] A type system is a form of context sensitive grammar that imposes restrictions on the formation of programs to ensure that a large class of errors, those that arise from misinterpretation of values, cannot occur. Examples of such errors are: applying a function on the integers to a boolean ....

John C. Reynolds. Three approaches to type structure. In TAPSOFT. Springer-Verlag, 1985.


Types and Automata - Schwartzbach, Schmidt (1990)   (Correct)

....of . 2 The best known algorithm for language equality runs in time O(n (n) for two n state automata. 3 3 Here (n) is the inverse of Ackermann s function [1] 8 4. 2 Ordering is Inclusion We note that this next result does not hold for type orderings that rely on coercions of values [3,7]. In these situations the inclusions of component names go in opposite directions for type sums and products, which disables this automata technique. Hence, partial products seem to enable a more natural type ordering. Corollary 4.2: Type ordering translates to language inclusion, i.e. T 1 ; E ....

Reynolds, J.C. \Three approaches to type structure." in Mathematical Foundations of Software Development, LNCS Vol 185, Springer-Verlag, 1985. 16


Static Correctness of Hierarchical Procedures - Schwartzbach (1990)   (Correct)

....is enabled by the partial product aspect of the type ordering. There have been many suggestions for languages with a similar subtype polymorphism. Ours is unique in allowing truly imperative features such as assignments, subvariables, and variable parameters. Many systems rely on coercions [1,2,4,6] which have distinct disadvantages such as type loss and the update problem [2] We avoid these; for example, the procedure Proc Id(var x: Omega ) skip end Id will be the identity on both the type and the value of any argument. The presence of variables or mutable types [1,2] have so far ....

Reynolds, J.C. "Three approaches to type structure.", In Mathematical Foundations of Software Development, LNCS Vol 185, SpringerVerlag 1985.


Towards a Practical Programming Language Based on the .. - Lee, Leone.. (1989)   (2 citations)  (Correct)

.... the generic let construct which cannot be defined in terms of abstraction and other extensions to the basic Hindley Milner type system [12, 18] such as the module system [16] More powerful type systems allowing explicit quantification over types, such as the second order polymorphic calculus [11, 27] (which we refer to as F 2 ) are free of such limitations. Thus, it is natural to ask whether they too can form the basis for practical programming languages. A number of efforts in language design have sought to accomplish this by augmenting or adapting existing languages and systems with ....

....First, it provides a cursory review of the polymorphic calculus. This calculus was chosen as the core of LEAP because its type system allows explicit quantification over types. There are a number of thorough treatments of variants of this calculus in the literature, for instance [11] and [27]. Here we will give only a few highlights, concentrating on the well known connections to programming languages. Our second purpose is to introduce the syntax of LEAP as accepted by our prototype implementation. Let us begin by defining the second order polymorphic calculus, using LEAP s syntax. ....

John Reynolds. Three approaches to type structure. In Hartmut Ehrig, Christiane Floyd, Maurice Nivat, and James Thatcher, editors, Mathematical Foundations of Software Development, pages 97-- 138. Springer-Verlag LNCS 185, March 1985.


Typing and Subtyping for Mobile Processes (Extended Abstract) - Pierce, Sangiorgi (1992)   (Correct)

....a sink for elements of T , but not the other way around. The ref constructor, like our Sigma tag, is constrained by both requirements and behaves non variantly in the subtype relation. Another analogy relates this definition of subsorting and the subtype relations found in some typed calculi [3, 4, 21]. A function f with type S T can be thought of as a process that reads a value of type S from one location and writes a result of type T to another; to start f , we send it an appropriate pair of channels along a request channel a f . The sort of a f itself, from the point of view of a process ....

John Reynolds. Three approaches to type structure. In Mathematical Foundations of Software Development. Springer-Verlag, 1985. Lecture Notes in Computer Science No. 185.


A Tutorial on the Universality and Expressiveness of Fold - Hutton (1993)   (14 citations)  (Correct)

....by representing each number n by a list with n arbitrary elements. This function is the classic example of a function that is not primitive recursion in a firstorder programming language. However, in a higher order language such as Haskell, Ackermann s function is indeed primitive recursive (Reynolds, 1985). In this section we show how to calculate the definition ack in terms of fold . First of all, by appealing to the universal property of fold , the equation ack = fold f v is equivalent to the following two equations: ack [ v ack (x : xs) f x (ack xs) A simple calculation from the first ....

Reynolds, John C. (1985). Three approaches to type structure. Proc. International Joint Conference on Theory and Practice of Software Development. Lecture Notes in Computer Science, vol. 185. Springer.


Considerations for a Generic SAC Library - Schupp, Loos (1995)   (Correct)

....in r (anonymous) variables which has univariate, bivariate, and, for any fixed non negative r, r variate integral polynomials as subtypes. Algorithms for objects of type T are applicable to objects whose type S is a subtype of T , written S T , provided 1 Strachey, according to Reynolds [Rey85], coined the term polymorphic. He called overloaded functions generic, but we follow the use of that term in the programming community. 2 By this definition, if a computer algebra system is said to be strongly typed, this implies, that it is compiler based and has a sound type system. 4 the ....

J. C. Reynolds, Three approaches to type structure, Mathematical Foundations of Software Development, Springer Lecture Notes on Computer Science 185, p. 97-138.


Theorems for Free! - Wadler (1989)   (3 citations)  (Correct)

....Figure 1) may be defined in the Girard Reynolds system without its use. Indeed, every recursive function that can be proved total in secondorder Peano arithmetic can be written as a term in the Girard Reynolds calculus [FLO83, Gir72, GLT89] This includes, for instance, Ackerman s function (see [Rey85]) but it excludes interpreters for most languages (including the Girard Reynolds calculus itself) If the power of unbounded recursion is truly required, then fix can be added as a primitive. However, adding fixpoints weakens the power of the parametricity theorem. In particular, if fixpoints are ....

....rules: fi) x : U: t) u ) t [u=x ] X: t) U ) t [U =X ] j) x : U: t x ) t X: t X ) t where in the j rules x and X do not occur free in t . As is well known, familiar types such as booleans, pairs, lists, and natural numbers can be defined as types constructed from just and 8; see for example [Rey85] or [GLT89] Alternatively, we could add suitable types and individual constants to the pure language described above. 5 Semantics of polymorphic lambda calculus We will give a semantics using a version of the frame semantics outlined in [BM84] and [MM85] We first discuss the semantics of types, ....

J. C. Reynolds, Three approaches to type structure. In Mathematical Foundations of Software Development, LNCS 185, SpringerVerlag, 1985.


Semantic Analyses for Storage Management Optimizations in.. - Park (1991)   (2 citations)  (Correct)

....is a set of rules for associating a type with expressions in the language to avoid embarrassing questions about representations, and to forbid situations in which these questions might come up. Most modern functional languages adopt a rich static strong polymorphic type system ( 19] 27] 60] [69]) in which polymorphism is allowed in both primitive and user defined functions, and a type inference system can be used to infer the types of expressions when little or no type information is given explicitly. Static strong typing, which means that expressions are type consistent and thus type ....

J.C. Reynolds. Three approaches to type structure. In Mathematical Foundations of Software Development, pages 97-138, LNCS 185 Springer-Verlag, 1985.


Types with Extents: - On Transforming   (Correct)

....work we will describe a model (or a number of related models) in which the type system is extended to incorporate these classes. By doing so we hope to achieve a system which captures an important part of a database schema while maintaining the utility and simplicity of a conventional type system ([13, 31, 16]) The extended type system expresses some important information, namely the existence of sets with finite extents from which all values are sourced, which is not normally present in a type system. Our thesis is that, by basing database programming languages, query languages, transformation ....

J. Reynolds. Three approaches to type structure. In Advanced Seminar on the Role of Semantics in Software Development, Berlin, 1985.


A Taste of Linear Logic - Wadler (1993)   (36 citations)  (Correct)

No context found.

J. C. Reynolds, Three approaches to type structure. In Mathematical Foundations of Software Development, LNCS 185, Springer-Verlag, 1985.


Polymorphically Typed Logic Programs - Yardeni, Fruehwirth, Shapiro (1991)   (31 citations)  (Correct)

No context found.

J. C. Reynolds, Three approaches to type structure, Mathematical Foundations of Software Development (TAPSOFT Proc., Vol. 1), Springer LNCS, March 1985, pp. 97--138.


Positive Subtyping - Hofmann, Pierce (1994)   (4 citations)  (Correct)

No context found.

John Reynolds. Three approaches to type structure. In Mathematical Foundations of Software Development. Springer-Verlag, 1985. Lecture Notes in Computer Science No. 185.


Analysis and Efficient Implementation of Functional Programs - Sestoft (1991)   (43 citations)  (Correct)

No context found.

J.C. Reynolds. Three approaches to type structure. In H. Ehrig, C. Floyd, M. Nivat, and J. Thatcher, editors, Mathematical Foundations of Software Development, TAPSOFT, CAAP'85, Berlin, Germany (Lecture Notes in Computer Science, vol. 185), pages 97--138. Springer-Verlag, 1985.


An Introduction to Polymorphic Lambda Calculus - Reynolds (1994)   (4 citations)  (Correct)

No context found.

Reynolds, J. C. Three Approaches to Type Structure. in: Mathematical Foundations of Software Development, Proceedings of the International Joint Conference on Theory and Practice of Software Development, Berlin, March 25--29, edited by H. Ehrig, C. Floyd, M. Nivat, and J. W. Thatcher. Lecture Notes in Computer Science, vol. 185, Springer-Verlag, Berlin, 1985, pp. 97--138.


The Girard-Reynolds Isomorphism - Wadler (2001)   (3 citations)  (Correct)

No context found.

J. C. Reynolds, Three approaches to type structure, Mathematical Foundations of Software Development, LNCS 185, Springer-Verlag, 1985.


The Girard-Reynolds Isomorphism - Wadler (2001)   (3 citations)  (Correct)

No context found.

J. C. Reynolds, Three approaches to type structure, Mathematical Foundations of Software Development, LNCS 185, Springer-Verlag, 1985.


A statically safe alternative to virtual types (Extended.. - Bruce, Odersky, Wadler (1998)   (Correct)

No context found.

J. C. Reynolds, Three approaches to type structure. In Mathematical Foundations of Software Development, LNCS 185, Springer-Verlag, 1985.

First 50 documents  Next 50

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