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.


Polymorphic Type Inference and Semi-Unification - Henglein (1989)   (3 citations)  (Correct)

....behavior of object oriented programming languages, are significant in the typing disciplines of modern strongly typed programming languages (e.g. 99,12] But we cannot hope to combine several features and study their interactions, before we understand them individually. We refer the reader to [100] and [13] for an introduction and exposition of types and type checking in programming languages. 2.1 Untyped Lambda Calculus We start with a simple functional language , the extended calculus [90] also called Exp in [23,85] It has function abstraction, application, definition, and fixed ....

J. Reynolds. Three approaches to type structure. In Proc. TAPSOFT, pages 97--138, SpringerVerlag, 1985.


Typed Sets as a Basis for Object-Oriented Database Schemas - Balsters (1993)   (20 citations)  (Correct)

....a way of attaching a unique type to a correctly typed expression by means of so called minimal typing. 3.1.3 Minimal Typing As we have seen above, subtyping allows expressions to have many types. It turns out, however, that every correctly typed expression has a unique so called minimal type [BaFo88,Reyn85]. An expression e has minimal type , if e : and there is no type oe such that e : oe and oe . If oe is the minimal type of e then we write e : oe. Another important property of minimal typing is that if e : oe and e : for some type , then it is always the case that oe . The ....

J. C. Reynolds, "Three Approaches to Type Structure," in Mathematical Foundations of Software Development #185, H. Ehrig et al., ed., Lecture Notes in Computer Science, Springer-Verlag, New York-- Heidelberg--Berlin, 1985, 97--138.


Type classes in Haskell - Hall, Hammond, Jones, Wadler (1996)   (30 citations)  (Correct)

....not assume prior knowledge of type classes. However, the introduction given here is necessarily cursory; for further motivating examples, see the original paper by Wadler and Blott [WB89] For a comparison of the HindleyMilner and Girard Reynolds systems, see the excellent summary by Reynolds [Rey85] For a practicum on HindleyMilner type inference, see the tutorials by Cardelli [Car87] or Hancock [Han87] The remainder of this paper is organised as follows. Section 2 introduces type classes and our translation method. Section 3 describes the various notations used in presenting the ....

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


A Semantics of Object-Oriented Sets - Balsters, de Vreeze (1991)   (7 citations)  (Correct)

.... cv oe that behaves like a function mapping arguments of type oe into results of type ffl an expression e of type oe is allowed to occur at a position where something of type is required, provided that oe and that the operation cv oe is applied (implicitly) to the value of e Reynolds [8] gives an excellent overview of various possibilities of typing and subtyping. Our description of typing and subtyping, mentioned above, is of a syntactical nature. It goes without saying that the question arises quickly whether types themselves have a meaning, i.e. whether there exists a ....

....that we can safely base a definition of a semantics [ A on the derivation of an expression s minimal type. In terms of [ A we can express the unique solution of the equations for [f g] A . Our definition of minimal typing (cf. 6] is basically the same as the one given in [8]. Definition 12 The relation : on E Theta T (e : is pronounced as is the minimal type of e) is defined inductively as follows 1. c : whenever c 2 C 2. x : whenever x 2 X 3. x:e) oe ) whenever x 2 X oe ; e : 4. e(e 0 ) whenever e : oe ) e 0 : ....

[Article contains additional citation context not shown here]

John C. Reynolds, "Three Approaches to Type Structure," in Mathematical Foundations of Software Development, H. Ehrig et al., ed., Lecture Notes in Computer Science #185, Springer-Verlag, New York--Heidelberg--Berlin, 1985, 97--138.


Symmetries in Data Parallelism - Shafarenko   (Correct)

....a separate study. 2 Paradigm type system Since symmetry is usually gradable, there is always a classification of objects in the increasing order of symmetry (which can be partial to allow incommensurable symmetry types) We must reflect this classification in an inclusion relation on types(see [Rey85]) also known as subtyping, which has to be maintained by a type system throughout the DP language paradigm. Also, the explicit account of symmetry that has a complex Cartesian structure proliferates operations very much, which makes it impossible to mark each particular version specifically with ....

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


An Ideal Model for an Extended Lambda-Calculus with.. - Levy, Agusti, Esteva.. (1991)   (Correct)

....reason to have ideals as semantic objects. These and other similar reasons have been given in [MPS86] to model polymorphic types as ideals. Furthermore, expressions can also be seen as types denoting a set of values and the refinement relation can be compared with the subtype relation in [Car88] [Rey85] and with the containment relation between types in [Mit88] In the same research line, there are several systems [ML79] CABea86] CH88] LB88] in which types and values are so intertwined that types become program specifications and programs become constructive proofs that such specifications ....

J. C. Reynolds. "Three Approaches to Type Structure". Number 185 in Lecture Notes in Computer Science, pages 97--138. Springer-Verlag, 1985.


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.


A Domain-Specific Language for Regular Sets of Strings and.. - Klarlund, Schwartzbach (1997)   (6 citations)  (Correct)

....posset computes the set of positions in a tree, root finds the root positions of a tree, and read computes the label of a position. This subtype structure is exploited to automatically insert coercions. Note that our subtype structure clearly is semantically coherent, so that coercions are unique [12]. If we added the coercion: singleton: pos set, then semantic coherence would fail. Second, we allow implicit casts between finite domains. For example, in the definitions: type Fruit = apple,orange; type Root = carrot,potato; type Vegetable = Fruit j Root; we will allow values of the domains ....

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


Subtyping can have a Simple Semantics - Balsters, Fokkinga (1991)   (15 citations)  (Correct)

.... cv oe that behaves like a function mapping arguments of type oe into results of type ffl an expression e of type oe is allowed to occur at a position where something of type is required, provided that oe and that the operation cv oe is applied (implicitly) to the value of e Reynolds [Reynolds 1985] gives an excellent overview of various possibilities of typing and subtyping. Our description of typing and subtyping, mentioned above, is of a syntactical nature. It goes without saying that the question arises quickly whether types themselves have a meaning, i.e. This work was partly ....

....of the particular choice of the base language. It would be nice if we could abstract away completely from the base language. However, in order to provide formal proofs, we have to make some choice or another. In the choice of the base language we have been lead by the overview of Reynolds [Reynolds 1985]. He discusses typing in general and does so by considering a language that has ffl unrestricted abstraction (i.e. functions) ffl records (or tuples, both with named and unnamed components) ffl discriminated unions (or variants) ffl lists (homogeneous, possibly infinite) ffl some basic data ....

[Article contains additional citation context not shown here]

Reynolds, J.C.: "Three Approaches to Type Structure"; in "Mathematical Foundations of Software Development"(eds. Ehrig e.a.), Lecture Notes in Computer Science 185, Springer Verlag 1985, pp. 97-138.


How to Make Ad-Hoc Polymorphism Less Ad Hoc - Wadler, Blott (1988)   (178 citations)  (Correct)

....type classes should be judged independently of Haskell; they could just as well be incorporated into another language, such as Standard ML. Type classes appear to be closely related to issues that arise in object oriented programming, bounded quantification of types, and abstract data types [CW85, MP85, Rey85]. Some of the connections are outlined below, but more work is required to understand these relations fully. A type system very similar to ours has been discovered independently by Stefan Kaes [Kae88] Our work improves on Kaes in several ways, notably by the introduction of type classes to group ....

....a b where coerce : a b instance Coerce Int Float where coerce = convertIntToFloat In this case, the assertion Coerce a b might be taken as equivalent to the assertion that a is a subtype of b. This suggests a relation between this work and work on bounded quantification and on subtypes (see [CW85, Rey85] for excellent surveys of work in this area, and [Wan87, Car88] for more recent work) Type classes may be thought of as a kind of bounded quantifier, limiting the types that a type variable may instantiate to. But unlike other approaches to bounded quantification, type classes do not introduce ....

[Article contains additional citation context not shown here]

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


On Binary Methods - Bruce, Cardelli, Castagna, Group.. (1995)   (8 citations)  (Correct)

....of the j. Note also that the instance variables (such as xValue and yValue) are not visible in the type of objects generated from a class. Informally, a type oe is a subtype of , written oe : if an expression of type oe can be used in any context that expects an expression of type (cf. [12, 14, 49]) Associated with subtyping is the principle of subsumption (subtype polymorphism) if oe : and a program fragment has type oe, it also has type . A simple example of subtyping in object oriented programming is that an object type is a subtype of the type with some methods removed, as any ....

....in this case, explicit. In [17] it is proved that to have type safety it suffices that every multi method of type (S 1 T 1 ; S 2 T 2 ; S n T n ) satisfies the following condition. 7 8i; j 2 [1: n] if S i : S j then T i : T j (1) This is similar to the monotonicity condition of [49] and, independently, 40] Note that all the multi methods defined in Figure 7 (and in particular equal) satisfy this condition. Therefore ColorPointClass : PointClass does not cause type insecurities. Intuitively, the problem with binary methods is that, in general, it is not possible to ....

[Article contains additional citation context not shown here]

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


Sound Polymorphic Type Inference for Objects - Eifrig, Smith, Trifonov (1995)   (67 citations)  (Correct)

....of type inference, establishing that the type inference algorithm will always infer a type if there is one. 1.1 Related Work Many of the papers on constraints and type inference are not directly concerned with type inference for objects. Three classic papers on subtyping and type constraints are [24, 7, 18]. Constrained type inference algorithms that are somewhat weaker than the approach we take have been developed for conventional languages [28, 14, 25] The stronger version of types with recursive constraints, polymorphism, and type inference was first formulated by Curtis in his purely functional ....

J. C. Reynolds. Three approaches to type structure. In TAPSOFT proceedings, volume 185 of Lecture notes in Computer Science, pages 97--138, 1985.


Type Inclusion Constraints and Type Inference - Aiken, Wimmers (1993)   (164 citations)  (Correct)

....program is well typed it cannot go wrong and produce a type error when executed. If the constraints do not have a solution, the program is considered to be ill typed it might produce a run time type error. Many generalizations of the Hindley Milner algorithm have been proposed; see [CW85, Rey85] for surveys of the major research directions. One approach that has received considerable attention is relaxing the form of the type constraints from equations X = Y to inclusions X Y [Mit84, Rey85, FM88, Tha88, KPS92] In inclusion based type systems, deciding whether a program has a type is ....

....type error. Many generalizations of the Hindley Milner algorithm have been proposed; see [CW85, Rey85] for surveys of the major research directions. One approach that has received considerable attention is relaxing the form of the type constraints from equations X = Y to inclusions X Y [Mit84, Rey85, FM88, Tha88, KPS92] In inclusion based type systems, deciding whether a program has a type is reduced to the question of whether a system of inclusion constraints has a solution. So far as we know, however, there have been no general results on the problem of solving systems of type inclusion ....

J. C. Reynolds. Three approaches to type structure. In Proc. TAPSOFT Advanced Seminar on the ROle of Semantics in Software Development, Berlin, March 1985. Springer Lecture Notes in Computer Science.


A Framework for Representation, Validation and.. - van Keulen..   (Correct)

....A. The TM model and notation TM is a database specification language based on object oriented principles (TM stands for TwenteMilano, the sites of the principal designers of the language) Its design was motivated by ideas expressed in theories like that of Cardelli [3] 11] and Reynolds [22], programming languages like Smalltalk [15] and data models like that of O 2 [7] An important design decision for the language was that specifications resulting from its use should be subject to formal scrutiny by (semi automatic) tools. The language allows to define mixed models consisting of ....

John C. Reynolds, "Three Approaches to Type Structure", in Mathematical Foundations of Software Development, H. Ehrig et al., eds., Springer-Verlag, 1985, Lecture Notes in Computer Science, no. 185, pp. 97-138.


Type Classes In Haskell - Hall, Hammond, Jones, Wadler (1996)   (30 citations)  (Correct)

....not assume prior knowledge of type classes. However, the introduction given here is necessarily cursory; for further motivating examples, see the original paper by Wadler and Blott [WB89] For a comparison of the Hindley Milner and Girard Reynolds systems, see the excellent summary by Reynolds [Rey85]. For a practicum on Hindley Milner type inference, see the tutorials by Cardelli [Car87] or Hancock [Han87] The remainder of this paper is organised as follows. Section 2 introduces type classes and our translation method. Section 3 describes the various notations used in presenting the ....

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


Efficient Self-Interpretation in Lambda Calculus - Mogensen (1994)   (1 citation)  (Correct)

....a more compact representation schema we will use a combination of higher order abstract syntax [Pfenning and Elliot 1988] and a well known way of representing signatures using terms. The latter is, in fact, so well known that the author doesn t know where it originated, but it is used in [Reynolds 1985]. Steensgaard Madsen 1989] contains this and several other ways of representing data in pure lambda calculus. Higher order abstract syntax is an abstract syntax representation that extends syntax trees with the abstraction mechanism of the lambda calculus. The idea is to represent scope rules by ....

Reynolds, J.C. 1985. Three Approaches to Type Structure, Lecture Notes in Computer Science Volume 185, SpringerVerlag: 97-138


Algebraic Processing of Programming Languages - Rus (1995)   (5 citations)  (Correct)

....that determines the type of a programming language object using the operation that constructs this object and the types of its operands. We consider types as mathematical abstractions which exist independent of the programming language that uses them and which are constructed from given types [Rey85] using algebraic operations. Our goal here is to use the existing type theory for the development of a language independent type system where types are elements of a database and are generated from other types using a given collection of predefined types and type constructors. A compiler can use ....

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


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 MONADS AND COMPOSABLE CONTINUATIONS 43 in a cartesian closed category. It is assumed that is itself represented as an ....

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


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

.... system used in ML, Miranda, and Haskell [14] Unbeknown to Milner, the same idea was published by Hindley in 1969 [9] Reynolds described a polymorphic lambda calculus in 1974 that generalised Milner s type system, and also generalised the power of generic type variables in languages such as Ada [17, 18]. Unbeknown to Reynolds, the same generalisation was described by Girard in 1972 [5] In 1987, Girard published the first description of linear logic [6] By now, the computer scientists and the logicians had realised that they had something to say to one another: the seminal paper appeared in ....

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


Type Inference for Recursively Constrained Types and its.. - Eifrig, Smith, Trifonov (1995)   (67 citations)  (Correct)

....are deterministic. Then these rules are shown equivalent in strength to the general form of rules, without recourse to a principal types property. 1.1 Related Work A number of type inference systems have been developed that bear on the type inference problem for OOP. Papers of Reynolds [Rey85] Cardelli [Car84] and Mitchell [Mit84] are foundational papers in the field that develop the basic concepts of constraints and subtyping. Many papers have been written since; we focus on the more recent work the most relevant to ours. Kaes [Kae92] develops a type inference algorithm for a ....

J. C. Reynolds. Three approaches to type structure. In TAPSOFT proceedings, volume 185 of Lecture notes in Computer Science, pages 97--138, 1985.


Linear Types Can Change the World! - Wadler (1990)   (5 citations)  (Correct)

....fooling the analysis) result in an unintended, large change in execution efficiency whose cause is difficult to trace. The type system used in this paper is monomorphic. It is straightforward to extend it to a polymorphic language with explicit type applications, as in the Girard Reynolds calculus [Gir72, Gir86, Rey74, Rey83, Rey85]. However, it is not clear whether it can be extended to the more common Hindley Milner Damas inference system [Hin69, Mil78, DM82] used in languages such as Miranda and Haskell. This is one area for future research. Other computer scientists have also been struck by the potential of a type system ....

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


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

.... elimination of functional and quantified types; T Prod I, T Prod E1, and T Prod E2 give pairing and projection; T Put allows put [S; T ] to be used as a function of the appropriate shape whenever S T ; T Sub is the rule of subsumption characteristic of calculi with subtyping [Cardelli, 1984, Reynolds, 1985] Again, we shall need a few simple facts about this definition. 2.2.1 Definition: Let d be a derivation of a statement Gamma e 2 S. Then ffl d is minimal if Gamma e 2 T implies Gamma S T ; ffl d is arrow minimal if Gamma e 2 T 1 T 2 implies Gamma S T 1 T 2 ; ffl d is ....

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


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.


Behavioural Subtyping in Name Passing Synchronisation Trees - Honda (1999)   (2 citations)  (Correct)

No context found.

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


A Statically Safe Alternative to Virtual Types - Bruce, Odersky, Wadler (1997)   (33 citations)  (Correct)

No context found.

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


Self-applicable Partial Evaluation for Pure Lambda Calculus - Mogensen (1992)   (10 citations)  (Correct)

No context found.

Reynolds, J.C. 1985. Three Approaches to Type Structure, Lecture Notes in Computer Science Volume 185, Springer-Verlag: 97-138.

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