45 citations found. Retrieving documents...
K. B. Bruce, A. Fiech, L. Petersen, Subtyping is not a good "match" for object-oriented languages, in: European Conference on Object-Oriented Programming (ECOOP), 1997.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

A Nominal Theory of Objects with Dependent Types - Odersky, Cremet, Röckl, Zenger (2002)   (5 citations)  (Correct)

....this decomposition can express two concepts which the conventional type selection p.L cannot. First, the self type of a class can be expressed as a singleton type this.type. This can accurately model covariant self types. For contravariant self types one would need a matching operation [11,10] instead of or in addition to the subtyping relation that we introduce. Second, an inner class of the kind it exists in Java [22,24] can be referenced by a type selection Outer.Inner where Outer and Inner are types. Such a selection risks being non sensical in the presence of abstract type ....

K. B. Bruce, A. Fiech, and L. Petersen. Subtyping is not a good "Match" for object-oriented languages. In Proceedings of the European Conference on ObjectOriented Programming, pages 104--127, 1997.


Type Systems for the Object-Oriented Paradigm - Bono (1999)   (1 citation)  (Correct)

....concepts are modeled in the purest way possible. It is possible then to single out problems and properties of various features, and then combine them. A calculus could be the first step in the design of a new language. This thesis follows the classical methodology of theoretical research on OO [Coo89a, AC96a, FHM94, Fis96, PT94, BPF97, RS98], using types as an instrument of analysis of OO as a paradigm on its own, and of synthesis of new results. Unless they are important for what is being studied. The starting point of this thesis is a functional object based calculus, the Lambda Calculus of Objects of Fisher, Honsell, Mitchell ....

....objects, we introduce a set of terms not including lambda terms, obtaining a calculus that looks more like the calculus, even though it retains all the other main features of LCO, notably object extension and MyType polymorphism. ffl It is worth also to mention the calculi of Bruce et al. [Bru93, Bru94, BSvG95, BPF97]. They designed and explained very articulated proposals, with the aim of modeling both class and object based features, embedding them in functional imperative contexts, according to the nature of each feature (for example, fields are seen as imperative data, since they must be global data for ....

[Article contains additional citation context not shown here]

K.B. Bruce, L. Petersen, and A. Fiech. Subtyping is not a Good "Match" for Object-Oriented Languages. In Proceedings of ECOOP'97: European Conference on Object-Oriented Programming, volume 1241 of LNCS, pages 104--127. Springer-- Verlag, 1997.


Rupiah: Towards an Expressive Static Type System for Java - Foster (2001)   (1 citation)  (Correct)

.... for maximum interaction with existing Java code, the new parameterized types that it supports do not operate consistently with Java s semantics for lightweight reflection (i.e. checked type casts and instanceof operations) We present Rupiah, a language based on features adapted from LOOM [BFP97] a provably type safe language, and implemented by a translation based on GJ. However its translation di#ers from GJ s in that it harnesses Java s built in reflection to store information about parameterized types. The resulting bytecode correctly executes checked cast and instanceof expressions ....

....(some discussion of what is reasonable is given in Section 3.5) 1.5 Acknowledgements Many of the ideas presented in this thesis are adapted from the work of others. A series of languages developed at Williams College under Kim Bruce: TOOPLE[Bru93] TOIL [BvG93] PolyTOIL [BSvG95] and [BFP97] provided the concepts for many of the type system features we propose adding to Java. A paper by Bruce [Bru97] first proposed adding match bounded parametric polymorphism, ThisType, and exact types to the language. These features were the subject of an honors thesis by Jon Burstein 98 [Bur98] ....

[Article contains additional citation context not shown here]

Kim B. Bruce, Adrian Fiech, and Leaf Petersen. Subtyping is not a good "match" for object-oriented languages. In ECOOP '97, pages 104--127. LNCS 1241, Springer-Verlag, 1997. i, 5, 17, 18


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 ....

Bruce, K. B., Petersen, L., Fiech, A.: Subtyping is not a Good "Match" for Object-Oriented Languages, Proceedings of ECOOP'97, LNCS 1241, Springer-Verlag, 1997.


A Nominal Theory of Objects with Dependent Types - Odersky, Cremet, Röckl, Zenger (2002)   (5 citations)  (Correct)

....this decomposition can express two concepts which the conventional type selection p.L cannot. First, the self type of a class can be expressed as a singleton type this.type. This can accurately model covariant self types. For contravariant self types one would need a matching operation [BFP97, Bru02] instead of or in addition to the subtyping relation that we introduce. Second, an inner class of the kind it exists in Java [GJSB00, Iga00] can be referenced by a type selection Outer . Inner where Outer and Inner are types. Such a selection risks being nonsensical in the presence ....

Kim B. Bruce, Adrian Fiech, and Leaf Petersen. Subtyping is not a good "Match" for object-oriented languages. In Proceedings of the European Conference on Object-Oriented Programming, pages 104-- 127, 1997.


Evolving Software with Extensible Modules - Zenger (2002)   (4 citations)  (Correct)

....inheritance. But inheritance alone does not support software refinement well. Existing code refers to the former type and cannot be overridden covariantly in a type safe way to make use of the extended features. For special cases like binary methods, some languages support the notion of self types [11, 10, 41]. But these are not suitable for mutually referential classes that have to be refined together to ensure consistency [17] Here, only virtual types are expressive enough [29, 54, 16, 36] Unfortunately, virtual types rely in general on dynamic type checking. Therefore recent work concentrated ....

K. B. Bruce, A. Fiech, and L. Petersen. Subtyping is not a good "Match" for object-oriented languages. In Object-Oriented Programming, pages 104--127, 1997.


Designing Record Systems - Sulzmann (1997)   (1 citation)  (Correct)

....to give an efficient compilation method. Type systems with records based on subtyping [HP91, Car84, CM89, EST95, R em95a] have problems to support record concatenation and a compilation calculus. Also, it seems that such type systems do not provide good wrappers for object oriented languages [BPF97] The concept of row variables [Wan88, Wan89, R em95b, R em89] has also some limitations. Ohori [Oho95] introduced kinds for record types that can be seen as predicates. He could provide an efficient compilation calculus but his system lacks features like addition or removal of field labels. The ....

Kim B. Bruce, Leaf Petersen, and Adrian Fiech. Subtyping is not a good "match" for object-oriented languages. In FOOL4: 4th. Int. Workshop on Foundations of Objectoriented programming Languages, January 1997.


A Core Calculus of Classes and Mixins - Bono, Patel, Shmatikov (1999)   (25 citations)  (Correct)

....types to follow the standard constraints on recursive types, while object types employ standard subtyping. PolyTOIL also has imperative updating of object fields, but inheritance is still modeled with MyType in order to support binary methods. The drawback is the complexity of the type system. In [17], another language is presented, Loom, where only matching is used and the type system is simplified. This paper is an attempt to built a simpler class based calculus. The absence of MyType makes it weaker, but imperative updating appears sufficient to model the desirable features that are needed ....

K. B. Bruce, L. Petersen, and A. Finch. Subtyping is not a good "match" for object-oriented languages. In Proc. ECOOP '97, pages 104--127. LNCS 1241, Springer-Verlag, 1997.


A Core Calculus of Classes and Objects - Bono, Patel, Shmatikov, Mitchell (1999)   (2 citations)  (Correct)

....types to follow the standard constraints on recursive types, while object types employ standard subtyping. PolyTOIL also has imperative updating of object fields, but inheritance is still modeled with MyType in order to support binary methods. The drawback is the complexity of the type system. In [BPF97], another language is presented, Loom, where only matching is used and the type system is simplified. Our core calculus is an attempt to built a simpler class based calculus. The absence of MyType makes it weaker, but imperative updating appears sufficient to model the desirable features that are ....

K.B. Bruce, L. Petersen and A. Finch. Subtyping is not a Good "Match" for Object-Oriented Languages. In ECOOP '97, LNCS 1241, 104--127. Springer-Verlag, 1997.


D.Phil. Thesis Proposal - Owen (1999)   (Correct)

....polymorphism may result in covariance 8 of method parameters, which is why GJ has to employ a work around using overloaded methods and run time casts on arguments. Research efforts are investigating alternative ways of expressing binary methods using other language features such as matching[5, 9], type dependency[52, 53] and multiple method dispatch[3, 14, 32, 43] It would be useful to evaluate these ideas in a language design. 4.2 Field overriding Whilst Java allows methods to be overridden in subclasses, the treatment of fields is different 5 . A field may be redefined in a ....

Kim Bruce, Leaf Petersen, and Adrian Fiech. Subtyping is not a good "Match" for object-oriented languages. In ECOOP'97 [18], pages 104--127. ftp://ftp.cs.williams.edu/pub/kim/LOOM.ps.gz. 13


Formal Objects in Type Theory Using Very Dependent Types - Hickey (1996)   (6 citations)  (Correct)

....we also require that the representation types of subobjects be subtypes. A more complete treatment of objects would require a more extensional definition of equality over the behavior of objects, excluding their states and representation types. A similar subtyping restriction is given by Bruce [8], who addresses this problem in PolyTOIL by defining matching, where an object matches another if any method that can be invoked on the first object can also be invoked on the second. Given this subtyping judgment, the subtyping criterion for Point setX can be made more explicit: 8A ....

Kim B. Bruce and Leaf Peterson. Subtyping is not a good "Match" for object-oriented languages. Technical report, Williams College, 1996. (extended abstract).


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

....for our purposes in compiling LOOM. Chapter 2 Features of LOOM In this chapter, we will give a description of the features of the LOOM language, focusing primarily on those which have been implemented in the prototype compiler. For more details on LOOM we refer the reader to the papers [BFP97] and [BFSvG95] and the thesis [Pet96] 2.1 Program Organization and Control Structures LOOM is an imperative language, and so most of the work in a LOOM program is done in lists of statements, which are written separated by semicolons as in Pascal. The most basic LOOM statements are the ....

....a method parameter. It is possible to write a simple program using MyType and this kind of subsumption rule in which a message ends up being sent to an object lacking the corresponding method, resulting in a run time error. For more information on these type safety issues we refer the reader to [BFP97] and [Bru97] for the purposes of this chapter it suffices to say that LOOM abandons the convenience of CHAPTER 2. FEATURES OF LOOM 19 subsumption in favor of the expressiveness of MyType. 2.5 More Advanced Features The LOOM language incorporates several advanced features to allow greater ....

[Article contains additional citation context not shown here]

Kim Bruce, Adrian Fiech, and Leaf Petersen. Subtyping is not a good "match" for object-oriented languages. In Proceedings of the 1997 European Conference on Object-Oriented Programming, pages 104--127. Springer LNCS 1241, 1997.


Rupiah: An extension to Java supporting match-bounded parametric .. - Burstein (1998)   (4 citations)  (Correct)

....of providing safe and flexible code reuse. The primary focus of this thesis, then, is to present a modification of Java s type system that increases that flexibility and expressiveness of the language without sacrificing safety. Specifically, we incorporate three concepts from the language LOOM [BFP97] match bounded parametric polymorphism, ThisType 1 and exact types. These changes do not alter the semantics of existing Java programs backwards compatibility is maintained. A further focus of the thesis is implementing the above modifications without destroying Java s cross platform nature. ....

....with constrained parametric polymorphism, and Section 5.4 the specific changes to Java required by the addition of ThisType. Finally, Section 5.5 discusses Rupiah s rules for casting, and subtyping among parametric polymorphic types. These type concepts are based on ideas from the languages LOOM [BFP97] and PolyTOIL [BSvG95] Portions of this chapter originally appeared in [Bru97a] 5.1 ThisType The keyword this is used in Java in method bodies of classes to represent the object executing the method; in essence, this allows an object to refer to itself. Suppose this occurs in the body of ....

[Article contains additional citation context not shown here]

Kim B. Bruce, Adrian Fiech, and Leaf Petersen. Subtyping is not a good "match" for object-oriented languages. In ECOOP '97, pages 104--127. LNCS 1241, Springer-Verlag, 1997.


Constraint-Based Polymorphism in Cecil: Towards a Practical and.. - Litvinov (1998)   (7 citations)  (Correct)

....for them is too verbose for rich class hierarchies and is difficult to maintain during program evolution. Inference of instantiating types greatly helps in some cases but not others. The solution we propose is to use syntactic sugars, without resorting to a different semantics such as matching [Bruce et al. 97] or virtual types [Madsen M ller Pedersen 89] The remainder of this section describes these situations and our solutions. In our presentation we attempt to highlight what needs to be handled by a practical type system, in a way independent of a particular system or language. We give a verbal ....

.... FieldAccessorNode[ T] isa MethodNode[T] decl( MethodNode) MethodDecl default values of T are used decl( FieldAccessorNode) FieldDecl Figure 9: Narrowing type of field in a subclass 12 be maintained to ensure that the code is type correct when inherited (for example, matching in LOOM [Bruce et al. 97] Our solution does not require introducing yet another relation between classes. 3.3 Binary Methods Consider an operation that takes two arguments which both must be of the same class. When such operation is inherited by a subclass, it takes two arguments of that subclass; two different ....

Kim B. Bruce, Adrian Fiech, and Leaf Petersen. Subtyping is not a good "Match" for object-oriented languages. In Proceedings ECOOP '97. Springer-Verlag, June 1997.


Semantics-Driven Language Design: Statically - Types   Self-citation (Bruce)   (Correct)

No context found.

Kim B. Bruce, Adrian Fiech, and Leaf Petersen. Subtyping is not a good "match" for object-oriented languages. In ECOOP '97, pages 104--127. LNCS 1241, Springer-Verlag, 1997.


LOOJ: Weaving LOOM into Java - Kim Bruce And (2004)   (1 citation)  Self-citation (Bruce)   (Correct)

No context found.

Kim B. Bruce, Adrian Fiech, and Leaf Petersen. Subtyping is not a good "match" for object-oriented languages. In Proc. ECOOP 1997, pages 104-- 127. LNCS 1241, Springer-Verlag, 1997.


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

....dropping matching. Because of our experience wehave come to the opposite conclusion: subtyping is not as useful as matching (as long as we provide a mechanism to support heterogeneous data structures) Research with Leaf Petersen resulted in the design of an object oriented language, LOOM, BFP97] which supports matching, but not subtyping, while still providing sufficient expressiveness for programmers. A key feature of this language is the provision of type expressions which allow the programmer to express that avalue can have anytype whichmatches a given expression. We are continuing ....

Kim B. Bruce, Adrian Fiech, and Leaf Petersen. Subtyping is not a good "match" for object-oriented languages. In ECOOP '97, pages 104--127. LNCS 1241, SpringerVerlag, 1997.


Typed Parametric Polymorphism for Aspects - Jagadeesan, Jeffrey, Riely (2006)   (Correct)

No context found.

K. B. Bruce, A. Fiech, L. Petersen, Subtyping is not a good "match" for object-oriented languages, in: European Conference on Object-Oriented Programming (ECOOP), 1997.


A Static C++ Object-Oriented Programming (SCOOP).. - Burrus..   (Correct)

No context found.

K. B. Bruce, L. Petersen, and A. Fiech. Subtyping is not a good "match" for object-oriented languages. In In the Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP), volume 1241 of Lecture Notes in Computer Science, pages 104--127, Jyvaskyla, Finland, 1997. Springer-Verlag.


Scalable Extensibility via Nested Inheritance - Nystrom, Chong, Myers (2004)   (Correct)

No context found.

Kim B. Bruce, Adrian Fiech, and Leaf Petersen. Subtyping is not a good "match" for object-oriented languages. In Proceedings of 11th European Conference on Object-Oriented Programming (ECOOP'97), number 1241 in Lecture Notes in Computer Science, pages 104--127, Jyv askyl a, Finland, June 1997. Springer-Verlag.


On Variance-Based Subtyping for Parametric Types - Igarashi, Viroli (2002)   (4 citations)  (Correct)

No context found.

Kim B. Bruce, Leaf Petersen, and Adrian Fiech. Subtyping is not a good "match" for object-oriented languages. In Proc. of the 11th European Conference on ObjectOriented Programming (ECOOP'97), LNCS 1241, pages 104--127, Jyvaskyla, Finland, June 1997. Springer-Verlag.


Some Challenging Typing Issues in Object-Oriented Languages.. - Bruce (2003)   (Correct)

No context found.

Kim B. Bruce, Adrian Fiech, and Leaf Petersen. Subtyping is not a good "match" for object-oriented languages. In ECOOP '97, pages 104--127. LNCS 1241, Springer-Verlag, 1997.


A Static C++ Object-Oriented Programming (SCOOP).. - Burrus..   (Correct)

No context found.

K. B. Bruce, L. Petersen, and A. Fiech. Subtyping is not a good "match" for object-oriented languages. In In the Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP), volume 1241 of Lecture Notes in Computer Science, pages 104--127, Jyvaskyla, Finland, 1997. Springer-Verlag.


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

No context found.

Kim Bruce, Leaf Petersen, and Adrian Fiech. Subtyping is not a good "Match" for object-oriented languages. In proceedings of the Eleventh European Conference on Object-Oriented Programming, Finland. Springer-Verlag LNCS 1241. June 1997.


The Cecil Language - Specification and Rationale - Version 3.0 - Chambers (1995)   (12 citations)  (Correct)

No context found.

Kim B. Bruce, Adrian Fiech, and Leaf Petersen. Subtyping is not a good "Match" for object-oriented languages. In Proceedings ECOOP '97. Springer-Verlag, June 1997.

First 50 documents

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC