51 citations found. Retrieving documents...
John C. Reynolds. Using category theory to design implicit conversions and generic operators. In Neil D. Jones, editor, Semantics-Directed Compiler Generation, volume 94 of Lecture Notes in Computer Science, pages 211--258, Berlin, 1980. Springer-Verlag.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Equational Reasoning with Subtypes - Gary Leavens And   (Correct)

....equational speci cations that are augmented, for each type, by a speci cation of how to coerce an object of that type to each of its direct supertypes. Such a formal system of coercion terms is similar to the system of implicit coercion functions considered in Reynolds s category sorted algebras [32]. These coercions are also present in the speci cations that other authors have used in their work on behavioral subtyping [2, 5, 10, 26] In our work, the coercions take the from of equations, and we show that if all the coercion equations are behavioral consequences of the given equational ....

....developed in the next section. The novel feature is the way subtyping is incorporated in the logic. 2.1. Signatures with Subtyping. We use essentially the same notion of a signature with subtyping from our earlier work [21, 23] which is itself adapted from the signatures Reynolds uses [32]. However under the in uence of the hidden algebra school [15, 16] the separation into visible and hidden parts is made more explicit. De nition 2.1. A visible data signature = hVIS; Op VIS ; AdmisType VIS i consists of: i) A nonempty set VIS of visible types. ii) A nonempty set Op VIS ....

[Article contains additional citation context not shown here]

John C. Reynolds, Using Category Theory to Design Implicit Conversions and Generic Operators, Semantics-Directed Compiler Generation, Proceedings of a Workshop, Aarhus, Denmark (N. D. Jones, ed.), Lecture Notes in Computer Science, vol. 94, Springer-Verlag, New York, 1980, 211-258.


Parametricity as a Notion of Uniformity in Reflexive Graphs - Dunphy (2002)   (Correct)

....exhibited a non well pointed parametricity graph which does not satisfy one of the most basic representation results the encoding of the terminal object. 185 Imperative Parametricity The study of imperative programming languages naturally leads one to consider semantics in functor categories [Rey80, Ole82, OT92] Algol is a programming language which combines imperative programming with the procedure mechanism of a typed lambda calculus [Rey81] It is therefore a well suited basic language to use when studying imperative versions of typed lambda calculi. In the following section we discuss ....

....The term judgments of IA are those that are derivable using the rules in table 6.2 (page 191) except the two rules relating to polymorphic types: 6. 2 Models of Idealized Algol A fairly intuitive categorical model of the imperative language can be given using the functor category S [Rey80, Ole82, OT92] Here L denotes the category of nite sets and injections and S is a Cartesian closed category of sets that contains IN. The intuition behind this is that a nite set W is the set of labels for memory variables that are currently allocated, called a world. A state of the computer s ....

[Article contains additional citation context not shown here]

J. C. Reynolds. Using category theory to design implicit conversions and generic operators. In N. D. Jones, editor, SemanticsDirected Compiler Generation, volume 94 of LNCS, pages 211{ 258. Springer-Verlag, 1980. (Reprinted as Chapter 2 of [GM94]).


Object-Oriented Programs - Tr July Fl   (Correct)

....if one is expecting the result type to be a subtype of IntSet, then the result of sending a message or using a specification function should be expected to have a type that is a subtype of IntSet. Such syntactic restrictions have been formalized, for example, in Reynolds s category sorted algebras [Rey80] [Rey85] What is novel is that modularity of specifications results from the requirement that the specification functions applicable to a supertype be applicable to subtypes. Function and operation specifications are modular, because they are written as if the actual arguments had the specified ....

....and post conditions of the operations of D are written using the operations of D. But the operations of D are not implemented, so the assertions that are used to define these operations are meaningless. Reynolds has studied partial orders on types in the setting of his category sorted algebras [Rey80] (see also [Rey85] The semantic requirement that Reynolds imposes on the subtype relation are illustrated by the following example. Suppose Integer is a subtype of Float, a and b are objects of type Integer, and to Float is the coercion function from Integer to Float. The coercion function to ....

[Article contains additional citation context not shown here]

John C. Reynolds. Using Category Theory to Design Implicit Conversions and Generic Operators. In Neil D. Jones, editor, Semantics-Directed Compiler Generation, Proceedings of a Workshop, Aarhus, Denmark, pages 211--258. Springer-Verlag, January 1980. 90


Modular Statically Typed Multimethods - Millstein, Chambers (2002)   (23 citations)  (Correct)

....by the types of its methods, so there is no possibility of message not understood errors. Further, the dispatching uses Common Lisp style total ordering of multimethod arguments and inheritance, avoiding ambiguities. Therefore, only the monotonicity of the result types [Castagna et al. 92, Reynolds 80] of multimethods needs to be checked to ensure type safety. 7 Conclusions and Future Work Dubious is a statically typed core language that supports symmetric multimethods and separate typechecking. The core language includes explicit declaration of (possibly abstract) objects, possibly ....

John C. Reynolds. Using Category Theory to Design Implicit Conversions and Generic Operators. Semantics-Directed Compiler Generation, Aarhus, Denmark, pp. 211-258. Volume 94 of Lecture Notes in Computer Science, Springer-Verlag, NY, 1980.


PolyTOIL: A type-safe polymorphic object-oriented language - Bruce, Fiech (1995)   (90 citations)  (Correct)

....is required to check for and handle, and that cannot be detected by the type system. If x is a variable holding values of type , the type checker treats x as having type ref . Because these reference types are both receivers and producers of values, they have no non trivial subtypes (see [Rey80] Similar problems obstruct the use of subtyping with call by reference parameters. For instance, a procedure might take a formal parameter of type U and assign to it a new object of that type. If an actual parameter, x, of type T : U is passed in to the procedure as a callby reference ....

J.C. Reynolds. Using category theory to design implicit conversions and generic operators. In N.D. Jones, editor, Semantics-Directed Compiler Generation, pages 211-2580. Springer-Verlag Lecture Notes in Computer Science, Vol. 94, 1980.


Introducing OBJ - Goguen, Winkler, Meseguer.. (1993)   (69 citations)  (Correct)

....case. Although this paper omits the technical details, OSA is a rigorous mathematical theory. OSA was originally suggested by Goguen in 1978 [44] and is further developed in [76] and [73] some alternative approaches have been given by Gogolla [41, 42] Mosses [122] Poigne [133, 134] Reynolds [135], Smolka et al. 140, 141] Wadge [150] and others. A survey as of 1993 appears in [61] along with some new generalizations. Meseguer has recently proposed a new generalization, called membership equational logic [115] OBJ3 directly supports subsort polymorphism, which is operator overloading ....

John Reynolds. Using category theory to design implicit conversions and generic operators. In Neal Jones, editor, Semantics Directed Compiler Generation, pages 211--258. Springer, 1980. Lecture Notes in Computer Science, Volume 94.


Order-Sorted Algebra I: Equational Deduction for Multiple.. - Goguen (1992)   (134 citations)  (Correct)

.... Sigma that are fully overloaded in the sense that if oe: w s is in Sigma and w 0 w and s s 0 , then oe: w 0 s 0 is in Sigma. Our weaker notion of regular signature is intended to capture ad hoc polymorphism. Reynolds has subsequently abandoned the algebraic approach of [69], since (he says) it fails to handle the higher order case. However, higher order abstract data types have been treated by [64] even with a notion of subsort; see [66] for some corrections to [64] In fact, the approach of [69] can be seen as arising from taking the so called tensor product of ....

....Reynolds has subsequently abandoned the algebraic approach of [69] since (he says) it fails to handle the higher order case. However, higher order abstract data types have been treated by [64] even with a notion of subsort; see [66] for some corrections to [64] In fact, the approach of [69] can be seen as arising from taking the so called tensor product of one algebraic theory with another that consists entirely of subsort inclusions. The extremes to which one might be driven by the difficulties of partial algebras are illustrated in [41] which models a state change by a change of ....

John Reynolds. Using category theory to design implicit conversions and generic operators. In Neal Jones, editor, Semantics Directed Compiler Generation, pages 211--258. Springer, 1980. Lecture Notes in Computer Science, Volume 94.


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

.... polymorphic type systems are introduced in [47, 66] Slide 12,18 Simula and 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 ....

John C. Reynolds. Using category theory to design implicit conversions and generic operators. In Semantics-Directed Compiler Generation. Springer-Verlag (LNCS 94), 1980.


PolyTOIL: A type-safe polymorphic object-oriented language - Kim Bruce Williams (1995)   (90 citations)  (Correct)

....element of each object type, including MyType. Bruce et al. PolyTOIL: A type safe OOL 10 If x is a variable holding values of type , the type checker treats x as having type ref . Because these reference types are both receivers and producers of values, they have no non trivial subtypes (see [Rey80] Similar problems obstruct the use of subtyping with call by reference parameters. For instance, a procedure might take a formal parameter of type T and assign to it a new object of that type. If an actual parameter, u,oftype U : T is passed in to the procedure as a call byreference parameter, ....

J.C. Reynolds. Using category theory to design implicit conversions and generic operators. In N.D. Jones, editor, Semantics-Directed Compiler Generation, pages 211--2580. Springer-Verlag Lecture Notes in Computer Science, Vol. 94, 1980.


PolyTOIL: A Type-Safe Polymorphic Object-Oriented Language.. - Bruce, Schuett, al. (1995)   (90 citations)  (Correct)

....by the constant nil. Nil is considered an element of each object type, including MyType. If x is a variable holding values of type , the type checker treats x as having type ref . Because these reference types are both receivers and producers of values, they have no non trivial subtypes (see [Rey80] Similar problems obstruct the use of subtyping with call by reference parameters. For instance, a procedure might take a formal parameter of type T and assign it a new object of that type. If an actual parameter, u, of type U : T is passed in to the procedure, it will 4 We also introduce a ....

J.C. Reynolds. Using category theory to design implicit conversions and generic operators. In N.D. Jones, editor, Semantics-Directed Compiler Generation, pages 211--2580. Springer-Verlag Lecture Notes in Computer Science, Vol. 94, 1980.


Modular Statically Typed Multimethods - Millstein, Chambers (1999)   (23 citations)  (Correct)

....no abstract methods in the language, so there is no possibility of message not understood errors. Further, the dispatching uses Common Lisp style total ordering of multimethod arguments and inheritance, avoiding ambiguities. Therefore, only the monotonicity of the result types [Castagna et al. 92, Reynolds 80] of multimethods needs to be checked to ensure type safety. Polyglot does not consider the issue of separate typechecking. 5 Conclusions and Future Work Dubious is a statically typed core language that supports symmetric multimethods and separate typechecking. The core language includes ....

John C. Reynolds. Using Category Theory to Design Implicit Conversions and Generic Operators. Semantics-Directed Compiler Generation, Aarhus, Denmark, pp. 211-258. Volume 94 of Lecture Notes in Computer Science, Springer-Verlag, NY, 1980.


Preliminary Design of Larch/C++ - Leavens, Cheon (1992)   (2 citations)  (Correct)

....by the trait functions; this ensures that the trait functions are redefined in the subtypes in a consistent way. To bring the values of the subtype up one uses a coercion function (not a relation) that maps each subtype abstract value to a single supertype abstract value [BW90] GM87] Ame91] Rey80] This allows assertions to be interpreted by mapping all values to the nominal type of the variables used in the assertion. With this approach, assertions may use equality ( freely for all types, but with the approach of bringing the trait functions down equality cannot be used in assertions ....

John C. Reynolds. Using Category Theory to Design Implicit Conversions and Generic Operators. In Neil D. Jones, editor, Semantics-Directed Compiler Generation, Proceedings of a Workshop, Aarhus, Denmark, volume 94 of Lecture Notes in Computer Science, pages 211--258. SpringerVerlag, January 1980.


Multiple Dispatch as Dispatch on Tuples - Leavens, Millstein (1998)   (8 citations)  (Correct)

....at run time method lookup will always succeed without ambiguities. There are algorithms for doing this more efficiently than this description might suggest [Chambers Leavens 95] A final implementation side check ensures monotonicity [Castagna et al. 92, Castagna 95, Goguen Meseguer 87, Reynolds 80] Consider a method named I, with k additional arguments, that is defined in two tuple classes: T 1 , T n ) and (T 1 , T n ) Let (S 1 , S k )U and (S 1 , S k )U be the types of the methods in these two tuple classes, respectively. Suppose that (T 1 , T n ) is a subtype of (T 1 ....

John C. Reynolds. Using Category Theory to Design Implicit Conversions and Generic Operators. In Neil D. Jones (editor), Semantics-Directed Compiler Generation, Proceedings of a Workshop, Aarhus, Denmark, pp. 211-258. Volume 94 of Lecture Notes in Computer Science, Springer-Verlag, NY, 1980.


BeCecil, A Core Object-Oriented Language with Block.. - Chambers, Leavens (1996)   (Correct)

....the checks would be passed. Alternatively, one could fix the example by declaring another method for f, such as the one below. f has method(y foo:Bar) int 4 one way to fix the above example Another interesting aspect of the implementation side checks is how they enforce a monotonicity [Reynolds 80] regularity [Goguen Meseguer 87] or consistency [Agrawal et al. 91] condition on the types of the methods in a generic function. This condition says that if a generic function conforms to two types, T 1 , T n ) T r and (S 1 , S n ) S r , and if for each i, S i is a subtype ....

John C. Reynolds. Using Category Theory to Design Implicit Conversions and Generic Operators. In Neil D. Jones (editor), Semantics-Directed Compiler Generation, Proceedings of a Workshop, Aarhus, Denmark, pp. 211-258. Volume 94 of Lecture Notes in Computer Science, Springer-Verlag, NY, 1980.


Class-Based and Algebraic Models of Objects - Leavens, Pigozzi (1998)   (Correct)

....about type checking for client expressions, and have assumed that appropriate methods were reflected in the type of a generic function. However, there is at least one property of generic function types as a whole that is a concern for client side checking. This is the monotonicity property [45], 18 which says that as more information is known about the values of expressions, the type of the expression does not become larger, but can only become a subtype of the type originally inferred for it [9, 10] In terms of an operational semantics, this says that if E reduces to E 0 , then the ....

....as opposed to reasoning about implementations of objects. This abstraction step takes one from the generic function models described above to various algebraic models. 4. 1 Signatures Another way to capture the monotonicity requirement for generic function types is found in the work of Reynolds [45, 46] and of Goguen and Meseguer [22, 23] on algebraic models. In the tradition of universal algebra, this work collects the type information into a mathematical structure. We call this structure a signature with subtyping (to distinguish it from signatures without subtypes) A signature with ....

[Article contains additional citation context not shown here]

John C. Reynolds. Using category theory to design implicit conversions and generic operators. In Neil D. Jones, editor, Semantics-Directed Compiler Generation, Proceedings of a Workshop, Aarhus, Denmark, volume 94 of Lecture Notes in Computer Science, pages 211--258. Springer-Verlag, January 1980.


Subtyping, Modular Specification, and Modular Verification.. - Leavens, Weihl (1994)   (Correct)

....a best implementation, the informal motto allows surprising behavior several objects of the subtype could collectively act differently than what one would expect from the supertype s specification. Less importantly, we present a model theory for specifications that generalizes the work of [53] and [6] Our simulation relations are tailored to handle incomplete specifications and are preserved by assertions in Larch LOAL and by LOAL expressions and programs. Simulation relations are the main technical tool used to define legal subtype relations. Note, however, that we only deal with ....

....f: Int, s: Int. In the following we present LOAL examples in the concrete syntax, but we only consider the abstract syntax in the semantics and proofs. 5. 4 Type Checking and Nominal Types Type checking for LOAL is based on subtyping, using techniques from Reynolds s category sorted algebras [53] [54] Each type safe expression is statically assigned a nominal type , determined from the information given in type specifications and program declarations. Thus the nominal type of an expression is just the expression s static type; for example, the nominal type of an identifier is given in ....

[Article contains additional citation context not shown here]

Reynolds, J. C. Using category theory to design implicit conversions and generic operators. In Jones, N. D., editor, Semantics-Directed Compiler Generation, Proceedings of a Workshop, Aarhus, Denmark, volume 94 of Lecture Notes in Computer Science, pages 211--258. Springer-Verlag, January 1980.


On Typed Calculi with a Merge Operator - Tsuiki (1994)   (3 citations)  (Correct)

....the operator defined both as int 2 int 0 int and real 2 real 0 real. This condition means that the integer addition and the real addition produce the same result when integer values are considered as reals. This is a natural condition for the two operators to be assigned the same symbol, and [Rey81] gave a semantics to such an operator, and Forsythe ( Rey88] is a language based on this. However, there have been no works on allowing a programmer to define a coherent generic function. In this paper, we study calculi which propose a way of defining such a function. 3 The Notion of Merge of ....

J. C. Reynolds. Using category theory to design implicit conversions and generic operators. In Lecture Notes in Computer Science, 94. Springer-Verlag, 1981.


A Domain-theoretic Semantics of Lax Generic Functions - Tsuiki   (Correct)

....function commute (see Figure 1) or in other words, a generic function preserves the coercible order relation. The notion of a coherent generic function is mathematically sound in that it corresponds to being a natural transformation as we explain in the next section, and was already used in [Rey81] to give a semantics to an overloaded operator. In this paper, we consider a weaker condition. That is, coercions and applications of the generic function lax commutes (see Figure 1) We explain how this condition is related with object oriented programming in three ways. The rst one is about a ....

J. C. Reynolds. Using category theory to design implicit conversions and generic operators. In Lecture Notes in Computer Science, 94. SpringerVerlag, 1981.


Using Commutativity Properties for Controlling Coercions - Missura, Weber   (Correct)

....a framework relaxing the above conditions that allows distinguishing between cases of ambiguities which can be resolved in a quite natural sense and those which cannot. An algorithm is presented that detects such unresolvable ambiguities in expressions. 1 Introduction Reynolds [10] uses category theory to investigate the problems of the interaction of coercions (implicit conversions) and generic operators (also called overloaded operators) He concludes with the global requirement that all possible coercions and generic operators have to commute to get a sound system. We ....

....algorithm which uses the commutativity information and which detects those ambiguities in an expression that cannot be resolved by any natural criterion. 2 Preliminaries 2.1 Category Theory For the notions of category theory we refer the reader to the literature. 7] is a comprehensive source. [8, 10] define the needed notions, too. 2.2 Types and Type Classes A type is as in [3, 12, 13, 15] just an element of the set of all order sorted terms over a regular signature #S; #;## freely generated by some family of infinite sets V = fV # j # 2 Sg. The formalism is well suited to express ....

[Article contains additional citation context not shown here]

J. C. Reynolds. Using category theory to design implicit conversions and generic operators. In N. D. Jones, editor, Semantics-Directed Compiler Generation, Workshop, volume 94 of Lecture Notes in Computer Science, pages 211--258, Aarhus, Denmark, Jan. 1980. SpringerVe r a g


On Coherence in Computer Algebra - Andreas Weber.. (1993)   (Correct)

....give some informal discussions about the significance of these conditions. We will describe our type system in terms of an order sorted algebra as suggested by Rector [16] and Comon, et al. 7] and we will develop the coherence theorem in a category theoretic framework as suggested by Reynolds [17]. 2 Preliminaries 2.1 Category Theory For the notions of category theory we refer the reader to the literature. A comprehensive source is [14] We will call a category C a preorder, if for any two objects A; B of the category and any arrows f;g : A , B we will have f = g. 1 Notice that the ....

....the only coercions which are present besides coercions between base types. Moreover, all type constructors have to be covariant or contravariant in all arguments in [15] and [9] However, in all these papers the question of coherence is not addressed, or only in form of a hint to the literature [17]. In [17] Reynolds gives some general category theoretic conditions for a first order language which imply a coherent system. Moreover, he also addresses questions whether generic operators are well defined in the presence of implicit coercions. However, in his system all types are unstructured. ....

[Article contains additional citation context not shown here]

J. C. Reynolds. Using category theory to design implicit conversions and generic operators. In N. D. Jones, editor, Semantics-Directed Compiler Generation, Workshop, volume 94 of Lecture Notes in Computer Science, pages 211--258, Aarhus, Denmark, Jan. 1980. SpringerVerlag.


Higher Order Functions Considered Unnecessary for Higher Order.. - Goguen (1990)   (20 citations)  (Correct)

....paper omits all technical details, order sorted algebra is a rigorous mathematical theory. Order sorted algebra originated in 1978, and is treated comprehensively 5 in [43] and summarized in [40] Some alternative approaches have been nicely developed by Gogolla [24, 25] Wadge [87] Reynolds [79], and others. OBJ directly supports subsort polymorphism, which is operator overloading consistent under subsort restriction. By contrast, languages like ML [53] and Hope [12] support parametric polymorphism [70] following ideas of Strachey. OBJ s parameterized modules provide a similar ....

John Reynolds. Using category theory to design implicit conversions and generic operators. In Neal Jones, editor, Semantics Directed Compiler Generation, pages 211--258. Springer-Verlag, 1980. Lecture Notes in Computer Science, Volume 94.


The Fox Project: Advanced Development of Systems Software - Cooper, Harper, Lee (1991)   (16 citations)  (Correct)

....properties of the language that must be preserved by any perturbation, lest coherence and implementability be lost. In the absence of a suitably well developed semantics, only seat of the pants criteria are available, and experience has shown that such methods invariably lead to flawed designs [31]. Many new compilation and optimization techniques are semantically based. In particular, there is increasing stress on the use of purpose built logical systems for specifying program properties such as types, effects, and data and control flow information. The development of semantics based ....

John C. Reynolds. Using category theory to design implicit conversions and generic operators. In Neil Jones, editor, Proceedings of the Aarhus Workshop on Semantics-Directed Compiler Generation, volume 94 of Lecture Notes in Computer Science, pages 211--258. SpringerVerlag, 1980.


Behavioral Subtyping in Object-Oriented Languages - Dhara (1997)   (2 citations)  (Correct)

....[WB89] Signatures also contain a function, ResType, which keeps track of the upper bound of the return type of operations. That is, operations are allowed to return subtype objects of their return type. These signatures are thus a simplified form of the signatures used in categorysorted algebras [Rey80] [Rey85] Definition 2.2.1 (Signature) A signature, Sigma, is a tuple, TYPES ; OPS ; ResType) where ffl TYPES is a set of type symbols, ffl OPS is a set of operation symbols, ffl is a pre order on TYPES, and ffl ResType is a family of partial functions such that ResType : OPS Theta ....

John C. Reynolds. Using category theory to design implicit conversions and generic operators. In Neil D. Jones, editor, Semantics-Directed Compiler Generation, Proceedings of a Workshop, Aarhus, Denmark, volume 94 of Lecture Notes in Computer Science, pages 211--258. SpringerVerlag, New York, NY, January 1980. 110


The Meaning of Types - From Intrinsic to Extrinsic Semantics - Reynolds (2000)   Self-citation (Reynolds)   (Correct)

No context found.

John C. Reynolds. Using category theory to design implicit conversions and generic operators. In Neil D. Jones, editor, Semantics-Directed Compiler Generation, volume 94 of Lecture Notes in Computer Science, pages 211--258, Berlin, 1980. Springer-Verlag.


Ml With Extended Pattern Matching And Subtypes - Jategaonkar (1989)   (53 citations)  (Correct)

No context found.

J.C. Reynolds. Using Category Theory to Design Implicit Conversions and Generic Operators, pages 211-2580. Springer-Verlag Lecture Notes in Computer Science, Vol. 94, 1980.

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