| Kathleen Fisher and John C. Mitchell. Notes on typed object-oriented programming. In Proceedings of Theoretical Aspects of Computer Software (TACS`94) , Sendai, Japan, volume 789 of LNCS, pages 844--886. Springer, 1994. |
....addition of new methods and fields) in a functional setting [FHM94, BSvG95] When an object is extended, the type given to self in the old methods has to be modified since the host object now contains additional methods and fields. Therefore, the type system should include the notion of MyType [FM94] (also called Self Type) so that the inherited methods can be specialized properly. Support for MyType generally leads to more complicated type systems, in which forms of recursive types are required. Without functional updates, it is possible to use early binding of self. Early binding ....
K. Fisher and J.C. Mitchell. Notes on Typed Object-Oriented Programming. In Proc. of TACS94, volume 789 of LNCS, pages 844--885. Springer-Verlag, 1994.
....similar in surface, has quite different properties since it combines label selection with currying, but does not support extensibility as far as we understand. Finally, our approach contrasts with many other researchers, who try to directly add primitive object oriented constructs to FPLs (see [FiMit94] for a survey) We do not even start with primitive records and variants, although it is well known that such constructs can be used to model objects [Card88] Instead, we propose a very fundamental extension of the functional model, and build everything else on top of it. We did not go very far ....
Kathleen Fisher and John C. Mitchell. Notes on typed object-oriented programming. In Proceedings TACS'94, pp 844-885. Springer-Verlag, LNCS 789, 1994.
....(i.e. understanding more messages) We do not know of any work in the spirit of Di Cosmo[9] which incorporates subtyping. Even worse, parametric polymorphism and subtyping are not easily merged in a type inference system: despite a number of research efforts, surveyed by Fisher and Mitchell[11], subtyping has not been integrated yet into languages based on type inference, such as ML or Haskell. 1.4 Contributions The present paper starts with a type inference system for N addressing the problem just mentioned above, i.e. integrating subtyping with parametric polymorphism. The algorithm ....
Kathleen Fisher and John C. Mitchell. Notes on typed object-oriented programming. In Proceedings TACS'94, pp 844-885. Springer-Verlag, LNCS 789, 1994.
....in x, y, z drift velocity in x, y, z spatial density in x, y, z Create D str but on FIG. 2. The model design for the object oriented Fortran 90 parallel program. viewpoint some believe that combining sub typing and inheritance leads to misconceptions, in fact, they should be separate issues [3, 7]. In general, we have found that composition inheritance is more useful than sub typing inheritance in scientific programming [9] Fortran 90 is a statically typed language, all references to types must be resolved at compile time, indeed, all types must be unambiguously (or uniquely) defined. ....
K. Fisher and J. C. Mitchell, Notes on typed object-oriented programming, in Theoretical Aspects of Computer Software, M. Hagiya and J. C. Mitchell, eds., Springer LNCS 789, 1994.
....i tipi rappresentano le interfacce degli oggetti, allora la relazione di sottotipo assicura compatibilit a tra interfacce pi u estese verso interfacce pi u limitate (ma non, ovviamente, il viceversa) Questa relazione di sottotipo e anche detta di sottotipo in larghezza . Gli autori di [FM94] osservavano che nei linguaggi delegation based non era possibile aggiungere una relazione di sottotipo. Gli autori di [BL95] hanno individuato una restrizione della relazione di sottotipo in larghezza compatibile con le caratteristiche peculiari dei linguaggi delegation based. Questa restrizione ....
....where the polymorphic type 8ff:ff stands for the product type Piff: ff. Unfortunately, we cannot do the same for y. What is Object Orientation Preface In this chapter, we introduce some fundamental concepts of Object Orientation. What follows here is strongly inspired by the very nice paper [FM94] in that paper, an introduction on the fundamental concepts of Object Orientation was given, together with an overview of the main type theoretic solutions studied in the past decade. In particular, in Section 5.1, we present a description of the most important features of object orientation. In ....
[Article contains additional citation context not shown here]
K. Fisher and J. C. Michell. Notes on Typed Object-Oriented Programming. In Proceedings of Theoretical Aspect of Computer Software, volume 789 of Lecture Notes in Computer Science, pages 844--885. Springer-Verlag, 1994.
.... VH93, PS93, Tur96] and for functional languages, among which its most immediate predecessors are Quest [Car91] and Amber [Car86] The treatment of subtyping and higher order polymorphism is based on recent work on static type systems for object oriented languages [Car84, Bru94, CHC90, PT94, HP95, FM94, AC96, etc. and the calculus F [Car90, Mit90, PS96] The rules for channel types are taken from Pierce and Sangiorgi s type system for the pure calculus [PS93] The rules for records are new, but may be regarded as a simplified fragment of the systems described by Cardelli and Mitchell ....
Kathleen Fisher and John Mitchell. Notes on typed object-oriented programming. In Proceedings of Theoretical Aspects of Computer Software, Sendai, Japan, pages 844--885. Springer-Verlag, April 1994. LNCS 789.
....or type extension, originally introduced by Bruce [11] and later applied to the Object Calculus [1] and to Obj [3] At the price of a little more mathematical overhead, we could have used also the implicit higher order polymorphism of [16] Object Subsumption. As it is well known, see e.g. [1, 17], the introduction of a subsumption relation over object types makes the type system unsound. In particular, width subtyping clashes with object extension, and depth subtyping clashes with object override. In fact on pro types no subtyping is possible. In order to accommodate subtyping, we add ....
....: clearly increases the set of expressions which are typable in the type system. Unfortunately, this rule is unsound in the presence of object extension; in fact, we could (by subsumption) rst hide a method in an object, and then add it again with a type incompatible with the previous one, see [1, 17]. Therefore, in order to include subsumption rules in our type assignment system, we need to introduce another kind of object types, namely obj t:hhR R 0 ii; The main di erence between the pro types and the obj types consists in the fact that the (Pre Extend) rule cannot be applied when ....
K. Fisher and J. C. Michell. Notes on Typed ObjectOriented Programming. In Proc. of TACS, volume 789 of Lecture Notes in Computer Science, pages 844-885. Springer-Verlag, 1994.
....the object itself: this, very informally, means to open rst the encapsulated method n and then to evaluate the body of e 0 of n. 6 About Object Subsumption Object subsumption has been fundamental in the object oriented paradigm, since it allows a signi cant reuse of code. Unfortunately, see [16,2]) extension in presence of subtyping makes the type system unsound. In this nal section, we try to point out the solutions (without criticism) proposed in the literature which add object subsumption to object calculi with an extension operator. one may permit unrestricted subsumption in ....
K. Fisher and J. C. Michell. Notes on Typed Object-Oriented Programming. In Proc. of TACS, volume 789 of Lecture Notes in Computer Science, pages 844-885. Springer-Verlag, 1994.
....the client could use without knowing that it was any different from the service type it requested. In fact, the relationship between the service requested and the service returned by the trader should be subtyping. The concept of subtyping is familiar from object oriented programming languages[FM94], It is defined as substitutability: type A is a subtype of type B iff objects of type A may be used in any situation where an object of type B was expected, without the object s environment being able to tell the difference. Thus, an object of any particular type can masquerade as, or stand in ....
Kathleen Fisher and John C. Mitchell. Notes on typed objectoriented programming. In Proceedings of Theoretical Aspects of Computer Software (TACS '94), Sendai, Japan, volume 789 of LNCS, pages 844--886. Springer, 1994.
....checked. Some prototype based languages, such as Cecil [5] also have (optional) static type systems. However, these languages require the exact type or even the concrete instance of the parent object to be known at compile time. The same approach is taken by prototype based object calculi, e.g. [7]. Thus, they fail the requirement of run time applicability (1) 6 At the time of writing, a few lemmata have not yet been mechanically proved. 222 M. Buchi and W. Weck Second, with generic wrappers the dynamic wrappee type can be checked with runtime type tests. Third, type casts are the only ....
Kathleen Fisher and John C. Mitchell. Notes on typed object-oriented programming. In Proceeding of Theoretical Aspects of Computer Software, pages 844--885. LNCS 789, Springer Verlag, 1994.
....object models might be a more promising way to increase the flexibility and expressive power of object oriented languages. However, a series of recent theoretical papers claim that a type safe combination of delegation with subtyping, let al..one typed dynamic delegation, is impossible ( 1] [5], 6] This paper explores both alternatives. On one hand, it reviews, compares and extends existing simulation techniques, trying to achieve a simulation that is as faithful as possible. On the other hand, it sketches the DARWIN model ( 17] which achieves the impossible type safe ....
K. Fisher; J.C. Mitchell: "Notes on Typed Object-Oriented Programming". In Proceedings of TACS '94, LNCS 789, pp. 844-885. 1994.
....to use an object with a longer (or more refined) interface in every context expecting objects with a smaller (or less refined) interface. This feature has been showed to be fundamental in object oriented paradigm, since it allows a significant reuse of code. Unfortunately, as clearly stated in [FM94, AC96a] adding object subsumption in presence of object extension make the type system very often unsound. As a simple example of this problem, let us suppose to have a diagonal point dpoint composed by two fields, x (holds 1) and y (holds self.x) The type of this object is [x:nat; y:nat] If ....
....is a variance annotation, i.e. one of the symbols , or , standing, respectively, for covariance, contravariance, public invariance, and private invariance. Any omitted s are taken to be equal to . Covariant methods allow covariant subtyping, but prevent update (see [FM94, AC96a] Symmetrically, contravariant methods allow contravariant subtyping, but prevent invocation. Publicinvariant methods, instead, can be invoked and updated. By subtyping, public invariant methods can be regarded as either covariant or contravariant. Private invariant methods cannot be ....
K. Fisher and J. C. Michell. Notes on Typed Object-Oriented Programming. In Proc. of TACS, volume 789 of Lecture Notes in Computer Science, pages 844--885. Springer-Verlag, 1994.
.... a prototype, say h 1 = P 1 ; n = P n i, where the P i s are functions of the prototype itself (usually in the form of a self parameter) we shall use a function returning a record G = self [ 1 = M 1 self ; n = M n self ] This is an iobject denitionj in Cook s model (see [11, 13]) also called iobject generatorj (see [2, 3] We cannot however use directly this representation with a iself application semanticsj, because of well known typing problems (see for instance [2] nor a irecursive record semanticsj [8] since it has diOEculties in modelling the method update ....
....j (t : j ( V t : j ( oe) j (8t :oe) For instance 3 2 is the kind of interfaces, that is functions from types to records. In (8t :oe) the variable t is bound in oe, but not in (hence we do not have F bounded polymorphism) Dependent types are used as prototype s interface (see [13, 18]) which typically are of the form V t 3 : 1 : 1 ; n : n ] Bounded quantication is used to model the fact that such an interface may be extended. The preorder in (8t :oe) is width subtyping (of rows, not records) as this is precisely the notion of subtyping one needs in order ....
[Article contains additional citation context not shown here]
K. Fisher, J. Mitchell, Notes on typed object-oriented programming, TACS'94, Lecture Notes in Comput. Sci. 789 (1994) 844-885.
....to hold. Related work Apart from Talcott [Tal96b] closest to our work are two concurrent object calculi, one by Gordon and Hankin [GH98] like ours based on Abadi and Cardelli s object calculus [AC96b] and another one by Di Blasio and Fisher [DF96] based on Fisher and Mitchell s object calculus [FM94]. However, no account on object migration has been addressed in their work. Acknowledgments We are grateful for discussions with and remarks from Luca Cardelli, Davide Sangiorgi, Carolyn Talcott, and klubben at BRICS Aalborg. Aliasing Models for Object Migration 15 ....
K. Fisher and J. Mitchell. Notes on Typed Object-Oriented Programming. In M. Hagiya and J. C. Mitchell, eds, Proceedings of TACS '94, volume 789 of LNCS, pages 844--885. Springer, 1994.
.... in Henk Barendregt s handbook article on Lambda Calculi with Types [Bar92] ffl The object model sketched in Chapter 7 is developed in detail in papers by David Turner, Martin Hofmann, and myself David Turner [PT94, HP95] ffl Articles by Kim Bruce [Bru94, Bru95] by Fisher and Mitchell [FM94], and by Abadi and Cardelli [AC94b, AC94a] develop related object models. ffl Theoretical Aspects of Object Oriented Programming: Types, Semantics, and Language Design is a collection of papers, many on type systems for object oriented programming. Though it does not cover important recent ....
Kathleen Fisher and John Mitchell. Notes on typed object-oriented programming. In Proceedings of Theoretical Aspects of Computer Software, Sendai, Japan, pages 844--885. Springer-Verlag, April 1994. LNCS 789.
....order calculi with subtyping, e.g. F (see [SP94] and F (see [Com94] should be applicable to our calculus as well. The full advantage of having record concatenation in our language becomes evident when modeling more complicated object oriented features, such as mixin classes (see [FM94]) An ordinary class always inherits from some fixed parent class, but in a mixin class, the class to be inherited from is a parameter. To achieve type safety, we have to demand that this parameter may be extended with certain fields. This can be expressed in our calculus by saying that the class ....
Kathleen Fisher and John Mitchell. Notes on typed object-oriented programming. In Proceedings of Theoretical Aspects of Computer Software, Sendai, Japan, pages 844--885. Springer-Verlag, 1994. LNCS 789.
....As background, we assume some familiarity with the polymorphic l calculus and with subtyping. We summarize our previous work on first order systems in the next section; however, the reader may want to consult the full report on that work [Abadi, Cardelli 1994c] A tutorial by Fisher and Mitchell [13] may also be helpful 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 ....
Fisher, K. and J.C. Mitchell, Notes on typed object-oriented programming. Proc. Theoretical Aspects of Computer Software, 844-885. Springer-Verlag. 1994.
....Fun based on F , an extension of the second order polymorphic calculus [Gir72, Rey74] by subtypes. Cardelli and Wegner proposed to model objects as records of their methods. The language Fun has spawned quite a number of different calculi of varying complexity. An overview can be found in [FM94] a collection of relevant papers in [GM94] For our purpose of integrating an object calculus into a logical framework, one particular formal system, the system F [Pie92] is a suitable basis, since it avoids the complexity of calculi with recursive types [Bru92, Mit90] Moreover, ....
Kathleen Fisher and John Mitchell. Notes on typed object-oriented programming. In M. Hagiya and J. C. Mitchell, editors, Theoretical Aspects of Computer Software, volume 789 of Lecture Notes in Computer Science, pages 844--885. Springer, 1994.
....design of more flexible and safe type systems for languages with objects, subtyping, and higher order functions is especially challenging, since function subtyping introduces subtle technical problems. Previous attempts require substantial type theoretic machinery and complex type systems (see [FM94] for a review of the issues) furthermore, in some cases type checking is undecidable, and for most others, type inference seems out of the question. The complexity of these systems make them unsatisfactory for extending SML with object oriented features. We avoid the complexities of these ....
Fisher, K. and J. C. Mitchell. Notes on typed object-oriented programming. In TACS'94: Theoretical Aspects of Computer Science, number 789 in Lecture Notes in Computer Science. Springer-Verlag, 1994, pp. 844--885.
....object encodings with respect to the object oriented constructions that they can express and the properties that they enjoy. A main difference of approach in this paper is in the use of type operators to represent different encodings more uniformly. A paper by Fisher and Mitchell [FM96] see also [FM94] gives a general tutorial on type systems for object oriented languages. It describes the origins and evolution of the recursive and existential encodings, and compares them with an axiomatic presentation of objects. 2 Technical Preliminaries The ambient type theory in which our four ....
Kathleen Fisher and John Mitchell. Notes on typed object-oriented programming. In Proceedings Theoretical Aspects of Computer Software, pages 138--150. Springer LNCS 789, 1994.
....similar in surface, has quite different properties since it combines label selection with currying, but does not support extensibility as far as we understand. Finally, our approach contrasts with many other researchers, who try to directly add primitive object oriented constructs to FPLs (see [FiMit94] for a survey) We do not even start with primitive records and variants, although it is well known that such constructs can be used to model objects [Card88] Instead, we propose a very fundamental extension of the functional model, and build everything else on top of it. We did not go very far ....
Kathleen Fisher and John C. Mitchell. Notes on typed object-oriented programming. In Proceedings TACS'94, pp 844-885. Springer-Verlag, LNCS 789, 1994.
No context found.
Fisher, K., Michell, J. C. Notes on Typed Object-Oriented Programming. In Proc. Theoretical Aspect of Computer Software, LNCS 789, Springer-Verlag, 1994, pp. 844--
....information in the interface of an abstract type. This is necessary if if we want to be able to extend the representation, since otherwise we might try to add a new method that replaces an existing method, invalidating another method that depends on the presence of the one that is replaced. See [FM94], for example, for further discussion. However, this form of negative information is not used in C class interfaces or header files. Therefore, we have an anomalous situation in which private virtual functions, which are not supposed to be visible to derived classes, can be unintentionally ....
K. Fisher and J.C. Mitchell. Notes on typed object-oriented programming. In Proc. Theoretical Aspects of Computer Software, pages 844--885. Springer LNCS 789, 1994.
....object oriented type systems seem an important and practical research direction. This paper is a mildly revised and expanded version of a document intended to provide background and reference material for the second author s invited Sendai lecture, contemporaneous with the 1994 TACS conference [FM94] Although some references were updated in 1995, it was not feasible to account for research completed after early 1994. The main goal of the paper is to make the motivating problems clear to specialists and non specialists, so that those with an interest in research in this area might find it ....
K. Fisher and J.C. Mitchell. Notes on typed object-oriented programming. In Proc. Theoretical Aspects of Computer Software, pages 844--885. Springer LNCS 789, 1994.
No context found.
Kathleen Fisher and John C. Mitchell. Notes on typed object-oriented programming. In Proceedings of Theoretical Aspects of Computer Software (TACS`94) , Sendai, Japan, volume 789 of LNCS, pages 844--886. Springer, 1994.
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