31 citations found. Retrieving documents...
M. Abadi and L. Cardelli. On Subtyping and Matching. In Proceedings of ECOOP'95: European Conference on Object-Oriented Programming, volume 952 of LNCS, pages 145--167. Springer--Verlag, 1995.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Type Systems for the Object-Oriented Paradigm - Bono (1999)   (1 citation)  (Correct)

....in these variables) and to enforce correct instantiation of the schemes as methods are inherited. Matching is a relation over recursive object types that was first introduced by [Bru94] as an alternative to F bounded subtyping [CHC90] in modeling the subclass relation in class based languages. In [AC95b], this relation was then proposed as a complement to higher order subtyping to provide an adequate typing of inheritance of methods in related languages. The system we present in this chapter shows that matching can be employed to explain the effect of row polymorphism in the type system of LCO. A ....

....rule. These two restrictions have orthogonal motivations: the first is just a matter of convenience in the analysis of the relationships between our system and the system of LCO; the second, instead, is crucial to prevent unsound uses of type promotion in the presence of method override (as in [Bru94, AC95b]) For the most part, the type system is routine; the interesting rules are those pertaining to the object related part of the calculus, which we discuss next. The first rule defines the type of the empty object: having no method, the type of this object has an empty row. empty) The next ....

[Article contains additional citation context not shown here]

M. Abadi and L. Cardelli. On Subtyping and Matching. In Proceedings of ECOOP'95: European Conference on ObjectOriented Programming, volume 952 of LNCS, pages 145--167. Springer--Verlag, 1995.


Products and Polymorphic Subtypes - Bono, Tiuryn (2001)   (Correct)

....Subtyping, Cartesian Product, Logical Semantics, Sequent. 1 Introduction The notion of subtyping is one of the most important concepts introduced in the theory of functional languages (see, for example, 4 7] Moreover, it plays an important role in object oriented languages (see, for example, [1 3, 8]) for which Supported by Polish KBN Grant 8 T11C 035 14 and Polish KBN Grant 8 T11C 028 20. it provides a typed counterpart of the substitutivity concept, that essentially allows to treat an object with a certain set of functionalities also as an object that has a subset of such ....

M. Abadi and L. Cardelli. On Subtyping and Matching. In Proceedings of ECOOP'95, volume 952 of LNCS, pages 145-167. Springer{Verlag, 1995.


Interpretations of Extensible Objects and Types - Bono, Bugliesi   (Correct)

....Translation of Types A j pro(X)hhm i : B i fXgii = Y) X) m i : 8(U Y)U : 8(U [ Gamma . A ] Gamma; X . B i fXg ] X i : 8(U [ Gamma . A ] 8(U [ Gamma . A ] The translation of types is by structural induction. As in [AC95], the treatment of object types depends on the context where they are used: in certain contexts they are interpreted as type operators, while in other contexts they are interpreted as types. From the translation of contexts and judgments (cf. Table 3) we see that [ Delta ] are used, ....

M. Abadi and L. Cardelli. On Subtyping and Matching. In Proceedings of ECOOP'95: European Conference on Object-Oriented Programming, volume 952 of LNCS, pages 145--167. Springer--Verlag, August 1995.


Products and Polymorphic Subtypes - Bono, Tiuryn (2002)   (Correct)

....Cartesian Product, Logical Semantics, Sequent. 1. Introduction The notion of subtyping is one of the most important concepts introduced in the theory of functional languages (see, for example, 4, 5, 6, 7] Moreover, it plays an important role in object oriented languages (see, for example, [1, 2, 3, 8]) for which it provides a typed counterpart of the substitutivity concept, that Partially supported by MURST Cofin 01 NAPOLI Address for corresponding: Dipartimento di Informatica, Universita di Torino, c. Svizzera 185, 10149 Torino, Italy Supported by Polish KBN Grant 8 T11C 035 14 and ....

Abadi, M., Cardelli, L.: On Subtyping and Matching, Proceedings of ECOOP'95, LNCS 952, SpringerVerlag, 1995.


On Object Systems and Behavioral Inheritance - Harel, Kupferman (2002)   (2 citations)  (Correct)

....IEEECS Log Number 112157. A can do, but it will do so in the very same way and with the very same results. This notion is not new. It has its roots in work of Wegner and Zdonik [26] and Liskov and Wing [13] 14] and is often referred to as the Liskov principle. See also Abadi and Cardelli [1]. Niestraz [17] discussed this notion in the framework of state machine modeling, but on a relatively simple level. Our work can be thought of as providing a detailed proposal as to how one might define the Liskov principle in a state based object model setting (see Harel and Gery [8] and shows ....

....we will define later. We can have, for instance, a system with three instances of class O1, no instance of class 02, and one instance of class Oa. We refer to the different instances of a class by indices in IN . For example, in the above system, we can denote the participating components by O [1], O [2] O [3] and 03 [1] In order to refer to a particular instance of a class O, we use elements in R = IN u m n, max . Thus, a reference 7 R can be either direct, namely, in which case the referred instance is Oft l, or indirect, namely, 7 rain, max , in which case the referred instance ....

[Article contains additional citation context not shown here]

M. Abadi and L. Cardelli, "On Subtyping and Matching," Proc. Ninth European Conf. Object-Oriented Programming (ECOOP), 1995.


Orthogonal to the Java Imperative - Alagic, Solorzano, Gitchell (1998)   (Correct)

....In addition, it fits the orthogonal model of persistence which supports reachability. The formal development of the type system is not the topic of this paper. It is given in a separate paper [4] together with a proof of its type safety. The type system of full fledged MyT is based on self types ([1], 13] The type system underlying this paper is more restrictive in order to make it compatible with the Java type system. Self types and multiple dispatch required for their type safe implementation are thus omitted. 3.1 Bounded Type Quantification A simple form of parametric polymorphism ....

....collection, hence the bounded condition T Inherits T 0. The constructor select returns the set of all objects of the underlying collection with the given value of the search attributes supplied as the argument of the select method. A technique related to F bounded polymorphism is called matching [1], and it is perhaps more intuitive and easier to grasp. It should be noted that these more advanced typing notions come with a price. The underlying type system becomes more complex [18] and it may even be undecidable [28] 4 Persistence 4.1 Model of Orthogonal Persistence The underlying model ....

[Article contains additional citation context not shown here]

Abadi, M., Cardelli, L.: On Subtyping and Matching, Proceedings of ECOOP '96, Lecture Notes in Computer Science 1098. Springer-Verlag (1996) 145-167. 217, 219, 231


A Subtyping for Extensible, Incomplete Objects - Bono, al. (2001)   (Correct)

....to the system of [3] 21] presents a (decidable) fully typed version of the calculus of [16] The system of [4] and the one of this paper share the same idea of using bounded type variables to capture polymorphic method types. The key di erence is that [4] uses a simpli ed notion of matching [8, 2] (without subsumption) and match bound variables, whereas here we use subtyping and subtype bound variables. In [4] it is shown that matchbounded type variables and row variables have the same expressive power, more precisely that the systems of [4] and [16] derive the same judgments from the ....

M. Abadi and L. Cardelli. On Subtyping and Matching. In ECOOP'95, LNCS 952, 145-167, Springer{Verlag, 1995.


On Object Extension - Liquori (1998)   (2 citations)  (Correct)

....particular the use of the match bound variable u #obj t:hhR j n : ii in [4] plays the same role as the open object type obj t:r t of [14] since r : t:hhR j n : ii. Although this is not formally proved, we could conjecture that the expressive powers of the two systems are the same, since, by [9,1], the matching relation can be fruitfully interpreted using a higher order polymorphism. Example 10 (Typing Example 4 in [4] As in the type system of [14] if we want to build e 0 using e as a prototype, then we need to insure that p does not belong to e, and derive for the body of p the ....

M. Abadi and L. Cardelli. On Subtyping and Matching. In Proc. of ECOOP, volume 952 of Lecture Notes in Computer Science, pages 145-167. Springer{Verlag, 1995.


Subtyping Constraints for Incomplete Objects.. - Bono, Bugliesi..   (Correct)

....[4] presents a type system for the Lambda Calculus of Objects based on matching. In particular, the system of [4] and the one of this paper share the same idea of using bounded type variables to capture polymorphic method types. The key di erence is that [4] uses a simpli ed notion of matching [8,2] (without subsumption) and match bound variables, whereas here we use subtyping and subtype bound variables. It should also be mentioned that [4] proves that bounded type variables and row variables have the same expressive power, more precisely the systems of [4] and [14] derive the same ....

M. Abadi and L. Cardelli. On Subtyping and Matching. In ECOOP'95, volume 952 of LNCS, pages 145-167. Springer{Verlag, 1995.


An Agent-based Architecture for Supporting Application Aware.. - Campbell, al. (1997)   (Correct)

....treat binary operators as subtypes has led to widespread adoption of the covariant rule, despite the type safety problems that it presents. Such a solution appears to be unsuitable for our needs. Therefore, we would look to alternative solutions that researchers have proposed. Abadi and Cardelli [3] introduce Protocols as a mechanism for overcoming these difficulties. Matching [19] captures that concept, and can be interpreted as either F bounded subtyping [27] or as higher order subtyping. Whether matching is a suitable replacement for subtyping remains an open issue. Castagna [7] has ....

Martin Abadi and Luca Cardelli. On subtyping and matching. In ACM TOPLAS, pages 401--423, July 1996.


Inheriting and Modifying Behavior - Soundarajan, Fridella (1997)   (5 citations)  (Correct)

....defined using inheritance with the derived classes being allowed to access the base classes protected members. Much work 10 This is exactly the approach of, for e.g. Jones [Jon90] where inheritance is not considered. has been done in allowing for much more flexible forms of inheritance [AC95, BSvG95]. The focus of much of this work has been to build precise models, in a denotational style, of how these mechanisms are intended to work. Once that question is settled, it would be appropriate to investigate specification and verification methods for classes built using these forms of inheritance. ....

M. Abadi and L. Cardelli. On subtyping and matching. In ECOOP, LNCS 952, pages 145--167. Springer-Verlag, 1995.


A Type System for Record Concatenation and Subtyping - Zwanenburg (1996)   (1 citation)  (Correct)

....by (TAbs) the type variable should be a subtype of some type S and compatible with type S. This means that a term of that type can only be applied to types that are a width subtype of S. This form of bounded quantification should not be confused with match bounded quantification, e.g. in [AC95]. The rule (LB) says the concatenation S1 With S2 is a subtype of both S1 and S2 , thus effectuating width subtyping. The rule (G) means that if R has all fields of both S and T , it also has all fields of the concatenation S With T . Combined with rule (LB) it can be used to derive that records ....

Martin Abadi and Luca Cardelli. On subtyping and matching. In Nineth European Conference on Object-Oriented Programming, pages 145--167, 1995.


Modelling the Checkability of Reusable Code - Tempero, Biddle   (Correct)

....This will require refining our model to better explain how dependencies and checkability interact. 3 Comparison The most common form of specification available in programming languages are type systems. There are a number of ongoing efforts to improve the expressiveness of type systems [7, 8, 9]. As yet, no attempt has been made to evaluate the results of these efforts on reusability. The RESOLVE project is investigating the impact of more rigorous behavioural specifications on the reusability of code [4, 10] Other efforts involve specifications for new kinds of reusable units, such as ....

M. Abadi and L. Cardelli, "On subtyping and matching," ACM Transactions on Programming Languages and Systems, vol. 18, no. 4, pp. 401--423, 1996.


Understanding Frameworks - Soundarajan (1998)   (3 citations)  (Correct)

.... that the number and types of the parameters of the virtual functions in the base class must match exactly the (number and) types of the parameters of the corresponding functions in the derived classes; other more general requirements such as contra variance or co variance are also possible [1], but we won t consider them in this chapter. 5 3 Behavioral Refinement: From Frameworks to Applications The run function of F provides a behavioral skeleton for the entire application with the virtual functions being (partially) empty shells in some sense. Suppose f is such a virtual ....

....will ignore this possibility here since it seems to go against the philosophy behind frameworks. For one possible way of dealing with such overriding, but not in the context of frameworks, see [17] 7 The specification of run will be: pre run j true (5) post run j (x.v = #x. v 2 (j j = 2 :o[1] = o[2] x :f [1] f [2] g) 6) The first clause in the post condition of run asserts that when run finishes, the value of x.v will be 2 greater than at the start; the second clause asserts that during execution, run will call virtual functions twice (j j is the length of ) and in each ....

[Article contains additional citation context not shown here]

M. Abadi and L. Cardelli. On subtyping and matching. In Proceedings of ECOOP, LNCS 952, pages 145--167. Springer-Verlag, 1995.


Typed Operational Semantics for Higher Order Subtyping - Compagnoni, Goguen (1997)   (11 citations)  (Correct)

....more constructs to allow the programmer to write programs more clearly or concisely. A wide variety of language features has been proposed to model constructs from objectoriented programming languages in type systems, for example bounded quantification [21] recursive types [3] and matching [1, 9]. The feature we study in this paper is bounded abstraction on types, also called bounded operator abstraction. Cardelli and Harper are in favor of including this in ML2000 (private communication) the successor of Standard ML. The constructor is amply motivated by many examples due to Kim Bruce ....

M. Abadi and L. Cardelli. On subtyping and matching. In ECOOP'95, pages 145--167. Springer-Verlag, August 1995.


Typed Intermediate Representations for Compiling.. - Vanderwaart (1999)   (3 citations)  (Correct)

....about this particular object type with the operator defined by M : mt:fm 1 : 1 ; m n : n g; where for each i, i is the appropriately translated type of the ith method. Most importantly, we can use this function to define the matching relation using higher order subtyping [AC95] If Obj[M ] is the object type with method type function M , we can say that Obj[M ] # Obj[M 0 ] where # denotes the matching relation) if and only if M : M 0 . This is how we translate bounded polymorphism. A LOOM function of the type func(T # oe) will become a SIL function of the ....

Martin Abadi and Luca Cardelli. On subtyping and matching. In Proceedings of the 1995 European Conference on Object-Oriented Programming, pages 145-- 167, 1995.


Simple objects for Standard ML - Reppy, Riecke (1996)   (23 citations)  (Correct)

.... be reused to build new objects) Naive type systems that identify the two concepts may have problems with type soundness (see [Coo89] for an example in early versions of Eiffel [Mey92] To avoid the problem, typed languages have used substantial type theoretic machinery: higher order subtyping [AC95b] bounded polymorphism [CW85] higherorder and F bounded polymorphism [CCH 89] existential types [PT93a] and matching [Bru94] In many of these proposed systems, typechecking is not decidable. The problems with typechecking magnify in the context of type inference if one keeps the same ....

Abadi, M. and L. Cardelli. On subtyping and matching. In ECOOP'95, 1995.


A Subtyping for Extensible, Incomplete Objects - Bono (1998)   (Correct)

....system of [3] Delta [21] presents a (decidable) fully typed version of the calculus of [16] The system of [4] and the one of this paper share the same idea of using bounded typevariables to capture polymorphic method types. The key difference is that [4] uses a simplified notion of matching [8, 2] (without subsumption) and match bound variables, whereas here we use subtyping and subtype bound variables. In [4] it is shown that matchbounded type variables and row variables have the same expressive power, more precisely that the systems of [4] and [16] derive the same judgments from the ....

M. Abadi and L. Cardelli. On Subtyping and Matching. In ECOOP'95, LNCS 952, 145--167. Springer--Verlag, 1995.


Typing in object-oriented languages: Achieving expressiveness and.. - Bruce (1996)   (24 citations)  (Correct)

....were introduced in [Bru94] as a simpler way of expressing the constraints of F bounded quantification in order to specify the semantics of typed object oriented languages. That paper also pointed out the usefulness of matching in type checking classes and subclasses. As pointed out in [AC95] a somewhat better encoding for matching can be obtained through the use of higher order subtyping [PS95] A concept similar to match bounded polymorphism seems to have been invented independently by several language designers. The term matching was introduced in [BH91] for a definition that is ....

Martin Abadi and Luca Cardelli. On subtyping and matching. In Proceedings ECOOP '95, pages 145--167, 1995.


The Development of Type Systems for Object-Oriented Languages - Fisher, Mitchell (1996)   (21 citations)  (Correct)

....subtypes of P[t] then the function will work for colored points if we pass as the first parameter Object C because C[t] P[t] This mechanism prevents colored points and points from being used interchangeably, but allows significant code reuse. Recent work in this direction appears in [BSv95, AC95b] 7 The Existential Model This approach provides a functional model of class based object oriented languages based on an encoding into F , an explicitly typed, polymorphic lambda calculus with subtyping. This summary is based on [PT94] See also [PT93] 7.1 Objects and their types In this ....

M. Abadi and L. Cardelli. On subtyping and matching. In Proc 9th European Conference on Object-Oriented Programming, pages 145--167, Aarhus, Denmark, 1995. Springer LNCS 952.


Typed Operational Semantics for Higher Order Subtyping - Compagnoni, Goguen (1997)   (11 citations)  (Correct)

....more constructs to allow the programmer to write programs more clearly or concisely. A wide variety of language features has been proposed to model constructs from object oriented programming languages in type systems, for example bounded quantification [24] recursive types [3] and matching [1, 10]. The feature we study in this paper is bounded abstraction on types, also called bounded operator abstraction. Cardelli and Harper are in favor of including this in ML2000 (private communication) the successor of Standard ML. The constructor is amply motivated by many examples due to Kim Bruce ....

M. Abadi and L. Cardelli. On subtyping and matching. In ECOOP'95, pages 145--167. SpringerVerlag, Aug. 1995.


Subtyping is not a good "Match" for.. - Bruce, Petersen, Fiech   (Correct)

....Petersen s research was partially supported by NSF grant CCR 9424123. Fiech s research was partially supported by NSERC grant OGP0170497. Current address: School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, USA A history of matching can be found in [BSvG95] See also [AC95] for a discussion of explanations of matching in terms of F bounded and higher order subtyping. An important feature of matching is that if two classes are subclasses, then the corresponding object types are in the matching relation. However, these types are not generally in the subtype relation ....

....Definition 1. Given object types ObjectTypefm 1 : T 1 ; mn : Tn g and ObjectTypefm 1 : T 1 ; m k : T k g, define ObjectTypefm 1 : T 1 ; mn : Tn g #ObjectTypefm 1 : T 1 ; m k : T k g iff k n. The relation # is referred to as matching . In both PolyTOIL and [AC95] the matching relation allowed the types of corresponding methods to be subtypes. Since the corresponding types must now be the same, a matching type simply is an extension of the original. It might seem that this would significantly impact the expressiveness of the language. While there are ....

Martin Abadi and Luca Cardelli. On subtyping and matching. In Proceedings ECOOP '95, pages 145--167, 1995.


Simple objects for Standard ML - John Reppy (1996)   (23 citations)  (Correct)

.... be reused to build new objects) Na#ve type systems that identify the two concepts may have problems with type soundness (see [Coo89] for an example in early versions of Eiffel [Mey92] To avoid the problem, typed languages have used substantial type theoretic machinery: higherorder subtyping [AC95b] bounded polymorphism [CW85] higher order and F bounded polymorphism [CCH 89] existential types [PT93a] and matching [Bru94] In many of these proposed systems, typechecking is not decidable. The problems with typechecking magnify in the context of type inference if one keeps the same ....

Abadi, M. and L. Cardelli. On subtyping and matching. In ECOOP'95, 1995.


Matching for the Lambda Calculus of Objects - Bono, Bugliesi (1998)   (Correct)

....in these variables) and to enforce correct instantiation of the schemes as methods are inherited. Matching is a relation over recursive object types that was first introduced by [7] as an alternative to F bounded subtyping [12] in modeling the subclass relation in class based languages. In [2], this relation was then proposed as a complement to higher order subtyping to provide an adequate typing of inheritance of methods in related languages. The system we present in this paper shows that matching can be employed to explain the effect of row polymorphism in the type system of [14] A ....

.... the first is just a matter of convenience in the 3 The same simplification can be found in [8] analysis of the relationships between our system and the system of [14] the second, instead, is crucial to prevent unsound uses of type promotion in the presence of method override (as in [7,2]) 3.3 Typing Rules for Objects For the most part, the type system is routine; the interesting rules are those pertaining to the object related part of the calculus, which we discuss next. The first rule defines the type of the empty object: having no method, the type of this object has an empty ....

M. Abadi and L. Cardelli. On Subtyping and Matching. In Proceedings of ECOOP'95: European Conference on Object-Oriented Programming, volume 952 of LNCS, pages 145--167. Springer--Verlag, August 1995.


A Theory of Primitive Objects - Second-Order Systems - Abadi, Cardelli   (34 citations)  Self-citation (Abadi Cardelli)   (Correct)

....as background material. As we mentioned above, this paper is part of a larger effort. Elsewhere, we consider denotational models [1] we study imperative semantics [3] we give direct rules for Self, building on the present work [3] and we compare subtyping with the related notion of matching [4]. Palsberg has studied type inference for our first order systems [20] the problems of type inference remain open for second order systems. 2. First Order Calculi In this section we review the typed first order object calculus introduced in [2] We also recall its limitations, which motivate the ....

Abadi, M. and L. Cardelli, On subtyping and matching. Proc. ECOOP'95 (to appear). Springer-Verlag. 1995.


On Binary Methods - Bruce, Cardelli, Castagna, Eifrig.. (1995)   (8 citations)  Self-citation (Cardelli)   (Correct)

....subtyping (X) oe(X) The introduction of a matching relation is thus one, but not the only, solution to the problem of typing inherited binary methods. In the next subsection we explore the mathematical aspects of the matching relation. 4.1. 2 Matching and Object Types As described in [1], matching can consistently be defined in terms of pointwise subtyping on operators from types to types. In this case an object type is used to define a function from types to types by replacing all occurrences of MyType by a type variable. For example, Point, can be used to define: ....

Martn Abadi and Luca Cardelli. On subtyping and matching. In Proceedings ECOOP '95, pages 145--167. LNCS 952, Springer-Verlag, 1995.


Extensible Objects: a Tutorial - Bono   (Correct)

No context found.

M. Abadi and L. Cardelli. On Subtyping and Matching. In Proceedings of ECOOP'95: European Conference on Object-Oriented Programming, volume 952 of LNCS, pages 145--167. Springer--Verlag, 1995.


Matching Constraints for the Lambda Calculus of Objects.. - Dipartimento Di..   (Correct)

No context found.

M. Abadi and L. Cardelli. On Subtyping and Matching. In Proceedings of ECOOP'95: European Conference on Object-Oriented Programming, volume 952 of LNCS, pages 145-167. Springer{Verlag, August 1995.


Extension Polymorphism - Balasubramaniam   (Correct)

No context found.

Abadi, M. & Cardelli, L. "On Subtyping and Matching". ACM Transactions on Programming Languages and Systems 18, 4 (1996).


Inheriting and Modifying Behavior - Neelam Soundarajan And (1997)   (5 citations)  (Correct)

No context found.

M. Abadi, L. Cardelli, On subtyping and matching, ECOOP '95, LNCS 952, pp. 145-167.


A Module System for LOOM - Petersen (1997)   (Correct)

No context found.

Martin Abadi and Luca Cardelli. On subtyping and matching. In Proceedings ECOOP '95, pages 145--167, 1995.

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