| P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Oltho#. F-bounded quantification for object-oriented programming. In Functional Programming and Computer Architecture (FPCA), pages 273--280, 1989. |
....e.g. List int , List long and List double . Moreover, our implementation does not introduce expensive box and unbox coercions. 4. Bounded polymorphism. Type parameters may be bounded by a class or interface with possible recursive reference to type parameters ( F bounded polymorphism [5]) 5. Polymorphic inheritance. The superclass and implemented interfaces of a class or interface can all be instantiated types. 6. Polymorphic recursion. Instance methods on parameterized types can be invoked recursively on instantiations different to that of the receiver; likewise, polymorphic ....
....using instantiated types and calling polymorphic methods) to a CLR implementation of a language such as Visual Basic. Potential avenues for future investigation include the following: Many systems of polymorphism permit type parameters to be constrained in some way. F bounded polymorphism [5] is simple to implement given the primitives we have described in this paper, and, if dynamic type checking is used at callsites, does not even require further verification type checking rules. Operationally, we believe that many other constraint mechanisms can be implemented by utilizing the ....
Peter S. Canning, William R. Cook, Walter L. Hill, John C. Mitchell, and William Olthoff. F-bounded quantification for object-oriented programming. In Conference on Functional Programming Languages and Computer Architecture, 1989.
....First note the Equality interface. This interface has a type parameter This which is supposed to be filled in with the type of the class upon which it is implemented. Using a type parameter in this way is a programming trick to deal with binary methods and simulate F Bounded polymorphism [5]. Now let us come back to what we really wanted to illustrate with this example. The Array implementation as presented has a type parameter for its elements that is restricted to classes implementing Equality in order to be able to implement Searchable. However suppose we wish to use an array ....
Peter Canning, William Cook, Walter Hill, Walter Olthoff, and John Mitchell. F-bounded quantification for object-oriented programming. In Fourth International Conference on Functional Programming Languages and Computer Architecture, pages 273--280, September 1989.
....U) dcast(S, U) CT (C) class C X # N # N . X = FV (N) dcast(C T , T X]N) FV (N) denotes the type variable in N. Figure 1: FGJ: Syntax and Auxiliary Definitions 5 there are several bounds, mutually recursive) in this sense, FGJ supports an extended form of F bounded polymorphism [4]. Each argument of a constructor corresponds to an initial (and also final) value of each fields of the class. As in Java and GJ, fields inherited from superclasses are initialized by super(f) and newly declared fields by this.f=f; although, as we will see, those statements do not have ....
Peter Canning, William Cook, Walter Hill, Walter Oltho#, and John Mitchell. F-bounded quantification for object-oriented programming. In Proceedings of the 4th International Conference on Functional Programming Languages and Computer Architecture, pages 273--280, September 1989.
....on the type parameters in such declarations using mixed subtype and signature type constraints. For example, a type parameter may be restricted to be a subtype of a certain type or to be any type such that a certain signature holds. Type constraints in Cecil generalize F bounded polymorphism [Canning et al. 89] and Theta style where clauses [Day et al. 95, Liskov et al. 94] This section presents type parameterization and type constraints in Cecil. A more formal development, although in a simpler setting and using a slightly different notation, appears elsewhere [Litvinov 98] The next subsection ....
Peter S. Canning, William R. Cook, Walter L. Hill, John C. Mitchell, and William Olthoff. F-Bounded Quantification for Object-Oriented Programming. In Proceedings of the Conference on Functional Programming Languages and Computer Architecture, 1989.
....records (which does not scale up to extensible records) in [26] However, his approach, based on the correspondence between types and domains of records cannot be applied to the compilation of objects with code free coercions. Objects have been widely studied in languages with higher order types [9, 23, 7, 2, 28, 6]. These proposals significantly differ from Objective ML. Types are not inferred but explicitly given by the user. Type abbreviations are also the user s responsibility. On the contrary, all these proposals allow for implicit subtyping. Our calculus differs significantly from Abadi s and ....
Peter Canning, William Cook, Walter Hill, Walter Olthoff, and John Mitchell. F-bounded quantification for object-oriented programming. In Fourth International Conference on Functional Programming Languages and Computer Architecture, pages 273--280, September 1989.
....of these types. Following this, we intend to extend our system with recursive types. This might involve techniques similar to those employed by Amadio and Cardelli [AC91] to study the interaction of recursive types with subtyping. A further extension would be the addition of the so called F bounds [CCH 89], which essentially allow the bounds of polymorphic functions to be recursive. Acknowledgements We would like to thank John Mitchell for many insightful discussions. We are also grateful to David Luckham, Neel Madhav, Sigurd Meldal and other members of the Programming and Verification Group at ....
P. Canning, W. Cook, W. Hill, J. C. Mitchell, and W. Olthoff. F-bounded quantification for object-oriented programming. In Functional Prog. and Computer Architecture, pages 273--280, 1989.
....with observational compatibility and operational compatibility representing extremes in the environmental spectrum. Despite the apparent importance of inheritance and compatibility to object orientation, it is only recently that attempts have been made to formally define and relate these concepts[1, 5, 6, 7, 10, 11, 27]. Our formal definitions use the Z specification language[17, 29] Z is based on sets and first order predicate logic with a schema calculus for naming and grouping segments of specifications. We provide parenthetical comments explaining particular symbols and notations as they arise. A complete Z ....
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for object-oriented programming. Technical Report STL-89-5, Hewlett-Packard Labs, 1989.
....build full scale models of real object oriented languages on this foundation. Treating the interaction between interface refinement and encapsulation of objects has required higher order generalizations of subtyping the F bounded quantification of Canning, Cook, Hill, Olthoff, and Mitchell [ Canning et al. 1989, Cook et al. 1990 ] or Cardelli and Mitchell s system F [ Cardelli, 1990, Mitchell, 1990a, Bruce and Mitchell, 1992 ] Using these techniques, a number of fairly complete foundational object models related to those found in languages such as Smalltalk [ Goldberg and Robson, 1983 ] and ....
Peter Canning, William Cook, Walter Hill, Walter Olthoff, and John Mitchell. F-bounded quantification for object-oriented programming. In Fourth International Conference on Functional Programming Languages and Computer Architecture, pages 273--280, September 1989.
....case is to be able to describe that two objects come from related types, e.g. that both arguments to min are subtypes of number or that both are subtypes of the collection type instantiated with related types. 4.7. 2 F Bounded Polymorphism in Singly Dispatched Languages F bounded polymorphism [Canning et al. 89, Cook et al. 90] supports parameterization where the upper bound constraint of a type parameter can be a function of the type parameter itself. This enables parameterized types to be used to describe patterns of types that are not necessarily subtypes of one another. Versions of F bounded ....
Peter S. Canning, William R. Cook, Walter L. Hill, John C. Mitchell, and William Olthoff. F-Bounded Quantification for Object-Oriented Programming. In Proceedings of the Conference on Functional Programming Languages and Computer Architecture, 1989.
....as the type of a parameter in its methods. Thus, if the bounds on type parameters were only expressed in terms of subtyping, it would be impossible to apply the sort routine to any interesting arguments. The use of bounded matching is equivalent to the use of F bounded polymorphism suggested in [11]. It is also very similar in effect to the restrictions on type parameters expressible in CLU and Ada (as well as the type classes of Haskell) For example, in Ada one would write the sort routine as: generic type t is private; with function (x,y: t) return BOOLEAN is ; with function ....
Peter Canning, William Cook, Walter Hill, Walter Olthoff, and John Mitchell. F-bounded quantification for object-oriented programming. In Fourth International Conference on Functional Programming Languages and Computer Architecture, pages 273--280, September 1989.
....object from being first class. 10 However, in an impredicative type theory, Pierce and Turner s object encoding can be used quite satisfactorily. In a type theory that additionally supplies recursive types (with negative occurrences) a variety of other object encodings become possible as well [15, 13, 3, 31, 14]. Alternatively, the object encoding of Hickey [50] works entirely within the existing Nuprl type theory and shows promise of being extendable to a practical object system. 3.6 Conclusions I have shown how to give a type theoretic semantics to an expressive programming calculus that supports ....
Peter Canning, William Cook, Walter Hill, John Mitchell, and Walter Olthoff. F-bounded quantification for object-oriented programming. In Conference on Functional Programming Languages and Computer Architecture, pages 273--280, September 1989.
.... [17] Cardelli and Longo [13] Cardelli, Martini, Mitchell, and Scedrov [14] and Curien and Ghelli [20, 21] F has been extended to include record types and richer notions of inheritance by Cardelli and Mitchell [15] Bruce [2] Cardelli [12] and Canning, Cook, Hill, Olthoff, and Mitchell [5]; an extension with intersection types [19, 34] is the subject of the present author s Ph.D. thesis [32] Bounded quantification also plays a key role in Cardelli s programing language Quest [10, 13] and in the Abel language developed at HP Labs [4, 5, 6, 18] The original Fun was simplified by ....
....and Canning, Cook, Hill, Olthoff, and Mitchell [5] an extension with intersection types [19, 34] is the subject of the present author s Ph.D. thesis [32] Bounded quantification also plays a key role in Cardelli s programing language Quest [10, 13] and in the Abel language developed at HP Labs [4, 5, 6, 18]. The original Fun was simplified by Bruce and Longo [3] and again by Curien and Ghelli [20] Curien and Ghelli s formulation, called minimal Bounded Fun or F ( F sub ) is the one considered here. Like other second order calculi, the terms of F include variables, abstractions, applications, ....
Peter Canning, William Cook, Walter Hill, Walter Olthoff, and John Mitchell. F-bounded quantification for object-oriented programming. In Fourth International Conference on Functional Programming Languages and Computer Architecture, pages 273--280, September 1989.
....need to change due to system evolution. 85 CHAPTER 5 AN ALGEBRAIC SPECIFICATION AND PROTOTYPE 5. 1 Introduction Object Oriented Programming has become popular among the people who build large software, and has been intriguing many researchers in the area of semantics of programming languages [9, 14, 33, 15, 51, 21, 55, 17, 8, 32, 7, 34]. There are many Object Oriented Programming Languages (OOPL) that have surfaced in the recent years [20, 26, 53, 59, 36, 58, 43, 5, 19, 38, 12, 61, 48] Although many of these languages are used for programming in the large, the kernel of these languages is generally small [32, 50, 11, 7] The ....
.... gt ( NAT ; NAT ) BOOL NAT Gamma= NAT NAT variables n [0 Gamma9] NAT CON c [0 Gamma9] CHAR x [0 Gamma9] CHAR y [0 Gamma9] CHAR equations [1] nat con( 0 y) nat con(y) 2] 0 Nat = Nat [3] Nat 0 = Nat 152 [4] 1 1 = 2 [5] 1 2 = 3 [6] 1 3 = 4 [7] 1 4 = 5 [8] 1 5 = 6 [9] 1 6 = 7 [10] 1 7 = 8 [11] 1 8 = 9 [12] 1 9 = 10 [13] 2 1 = 3 [14] 2 2 = 4 [15] 2 3 = 5 [16] 2 4 = 6 [17] 2 5 = 7 [18] 2 6 = 8 [19] 2 7 = 9 [20] 2 8 = 10 [21] 2 9 = 11 [22] 3 1 = 4 [23] 3 2 = 5 [24] 3 3 = 6 [25] 3 4 = 7 [26] 3 5 = 8 [27] 3 6 = 9 ....
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for object--oriented programming. In Proceedings of Conference on Functional Programming Languages and Computer Architecture, pages 273--280, 1989.
....of these features in a simpler calculus without recursive types. 1 Introduction Static type systems for object oriented programming languages have progressed significantly in the past decade. The line of research begun by Cardelli [11] and continued by Cardelli [18, 17, 14, 13] Mitchell [32, 10, 33], Bruce [8, 5, 7] and others [31, 39, 21, 10, 23, 20, 19, 26, 29, 44, 45, 46] has culminated in type theoretic accounts [6, 14] of many of the features of languages like Smalltalk [28] Our goal here is to reformulate the essential mechanisms of these accounts using a simpler type theory: we give ....
....without recursive types. 1 Introduction Static type systems for object oriented programming languages have progressed significantly in the past decade. The line of research begun by Cardelli [11] and continued by Cardelli [18, 17, 14, 13] Mitchell [32, 10, 33] Bruce [8, 5, 7] and others [31, 39, 21, 10, 23, 20, 19, 26, 29, 44, 45, 46] has culminated in type theoretic accounts [6, 14] of many of the features of languages like Smalltalk [28] Our goal here is to reformulate the essential mechanisms of these accounts using a simpler type theory: we give a complete model of encapsulation, message passing, subtyping, and ....
Peter Canning, William Cook, Walter Hill, Walter Olthoff, and John Mitchell. F-bounded quantification for object-oriented programming. In Fourth International Conference on Functional Programming Languages and Computer Architecture, pages 273--280, September 1989.
....for objects; in particular, it blocks the expected subtyping relationship that objects with more methods may be used in place of objects with less. This difficulty with self application has led to several different proposals for type theoretic encodings of objects. Recursive record interpretations [9, 11, 8] perform applications to self at the time objects are constructed, instead of at method invocation, resulting in records of methods where self is hardcoded. In existential interpretations [6, 22, 16] the self argument provides some hidden state of an object, but no access to methods; access to ....
....object must use an extra word to store the state pointer, and for every method invocation must perform and extra dereference to obtain that state pointer. 4. 1 Closure Conversion A variant of the Abadi, et al. encoding proposed by Viswanathan [24, 2] hearkens back to the recursive record encodings [9, 11, 8] by hiding the state within method functions, but uses dedicated update methods to support method udpate. At high level phases of a compiler, the recursive record encodings and Viswanathan s encoding appear to eliminate the extra state pointer, but a consideration of function closures reveals that ....
Peter Canning, William Cook, Walter Hill, John Mitchell, and Walter Olthoff. F-bounded quantification for object-oriented programming. In Conference on Functional Programming Languages and Computer Architecture, pages 273--280, September 1989.
....only constrains a single object. What we need to do for this case is to be able to describe that two objects come from related types, e.g. that both arguments to min are subtypes of number or that both are subtypes of the collection type instantiated with related types. F bounded polymorphism [Canning et al. 89, Cook et al. 90] is a different kind of subtyping relation that can describe that two objects come from the same type. One way of describing Fbounded polymorphism, adapted from Black and Hutchinson s version of F bounded polymorphism in Emerald [Black Hutchinson 90] is that a type definition is ....
Peter S. Canning, William R. Cook, Walter L. Hill, John C. Mitchell, and William Olthoff. F-Bounded Quantification for Object-Oriented Programming. In Proceedings of the Conference on Functional Programming Languages and Computer Architecture, 1989.
No context found.
Peter Canning, William Cook, Walt Hill, Walter Oltho#, and John C. Mitchell. F-bounded quantification for object-oriented programming. In Fourth International Conference on Functional Programming Languages and Computer Architecture, pages 273-- 280, 1989.
....for this new construct arises in part from our separation of specification and implementation, and our flexible forms of inheritance; see Section 6.1. Finally, we allow parameterized specifications (which seem especially useful for object oriented programming) and use bounded quantification [CW85, CCH 89, CM89] rather than unconstrained ML polymorphism. One of our language design goals is to support a range of programming styles within a single framework. One style of interest is the traditional program development by step wise refinement, using abstract data types and specifications. However, ....
....algebraic data types. Finally, we provide a compile time typing discipline which is more flexible than C , without the type insecurity of Eiffel [Coo89] Our type system is an extension of ML polymorphism, based in part on the record calculus of [CM89] and including F bounded quantification [CCH 89] for specifying uniform behavior over functionally similar classes of objects. An additional goal of our project, not reported here, is the integration of a form of concurrency based on objects with concurrent methods. An implementation is underway encompassing most of the features discussed in ....
[Article contains additional citation context not shown here]
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for object-oriented programming. In Functional Prog. and Computer Architecture, pages 273-- 280, 1989.
No context found.
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for object-oriented programming. In Functional Prog. and Computer Architecture, pages 273-- 280, 1989.
No context found.
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for objectoriented programming. In Functional Prog. and Computer Architecture, pages 273--280, 1989.
No context found.
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Oltho#. F-bounded quantification for object-oriented programming. In Functional Programming and Computer Architecture (FPCA), pages 273--280, 1989.
No context found.
P. Cunning, W. Cook, W. Hill, W. Oltho#, J. Mitchell. F-bounded quantification for object-oriented programming. In Proc. of the ACM FPCA. pp. 273-280. September 1989.
No context found.
P. Canning, W. Cook, W. Hill, W. Olthoff, and J.C. Mitchell. F-bounded quantification for objectoriented programming. In Proceedings Fourth International Conference on Functional Programming Languages and Computer Architecture, pages 273--280. IEEE, September 1989.
No context found.
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Oltho#. F-bounded quantification for object-oriented programming. In Functional Programming and Computer Architecture (FPCA), pages 273--280, 1989.
No context found.
P. Canning, W. Cook, W. Hill, W. Olthoff, and J. Mitchell. F-bounded quantification for object-oriented programming. In Fourth International Conference on Functional Programming Languages and Computer Architecture, pages 273--280, September 1989.
No context found.
P. Cunning, W. Cook, W. Hill, W. Oltho#, J. Mitchell. F-bounded Quantification for Object-Oriented Programming. ACM FPCA. 1989.
No context found.
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for object-oriented programming. In Functional Prog. and Computer Architecture, pages273--= 1989.
No context found.
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for object-oriented programming. Technical Report STL-89-5, Hewlett-Packard Labs, 1989.
No context found.
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for object-oriented programming. In Functional Prog. and Computer Architecture, pages 273--280, 1989.
No context found.
Peter Canning, William Cook, Walter Hill, Walter Olthoff, and John Mitchell. F-bounded quantification for object-oriented programming. In Fourth International Conference on Functional Programming Languages and Computer Architecture, pages 273--280, September 1989.
No context found.
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for object-oriented programming. In Functional Prog. and Computer Architecture, pages 273--280, 1989.
No context found.
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for object-oriented programming. In Functional Prog. and Computer Architecture, pages 273--280, 1989.
No context found.
Peter Canning, William Cook, Walter Hill, Walter Oltho#, and John Mitchell. F-bounded quantification for object-oriented programming. In Fourth International Conference on Functional Programming Languages and Computer Architecture, pages 273--280, September 1989.
No context found.
P. Canning, W. Cook, W. Hill, W. Olthoff, and J. Mitchell. F-bounded quantification for object-oriented programming. In Fourth International Conference on Functional Programming Languages and Computer Architecture, pages 273--280, September 1989.
No context found.
P.S. Canning, W.R. Cook, W.L. Hill, J. Mitchell, and W.G. Olthoff. F-bounded quantification for object-oriented programming. In ACM Conference on Functional Programming and Computer Architecture, September 1989. Also in [GM94].
No context found.
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for object-oriented programming. In Functional Prog. and Computer Architecture, pages 273--280, 1989.
No context found.
Canning, P., W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for objectoriented programming. In Conference Proceedings of the Fourth International Conference on Functional Programming Languages and Computer Architecture. ACM, 1989, pp. 273--280.
No context found.
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for object-oriented programming. In Functional Prog. and Computer Architecture, pages 273--280, 1989.
No context found.
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for object-oriented programming. In Functional Prog. and Computer Architecture, pages 273--280, 1989.
No context found.
P.S. Canning, W.R. Cook, W.L. Hill, J. Mitchell, and W.G. Olthoff. F-bounded quantification for object-oriented programming. In ACM Conference on Functional Programming and Computer Architecture, September 1989. Also in [GM94].
No context found.
P.S. Canning, W.R. Cook, W.L. Hill, J. Mitchell, and W.G. Orthoff. F-bounded quantification for object-oriented programming. In ACM Conference on Functional Programming and Computer Architecture, September 1989.
No context found.
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for object-oriented programming. In Functional Prog. and Computer Architecture, pages 273--280, 1989.
No context found.
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for object-oriented programming. In Functional Prog. and Computer Architecture, pages 273--280, 1989.
No context found.
P.S. Canning, W.R. Cook, W.L. Hill, J. Mitchell, and W.G. Orthoff. F-bounded quantification for object-oriented programming. In ACM Conference on Functional Programming and Computer Architecture, September 1989.
No context found.
P.S. Canning, W.R. Cook, W.L. Hill, J. Mitchell, and W.G. Olthoff. F-bounded quantification for object-oriented programming. In ACM Conference on Functional Programming and Computer Architecture, September 1989. Also in [GM94].
No context found.
Peter Canning, William Cook, Walter Hill, Walter Olthoff, and John Mitchell. F-bounded quantification for object-oriented programming. In Fourth International Conference on Functional Programming Languages and Computer Architecture, pages 273--280, September 1989.
No context found.
Canning, P., W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for objectoriented programming. In Conference Proceedings of the Fourth International Conference on Functional Programming Languages and Computer Architecture. ACM, 1989, pp. 273--280.
No context found.
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for object-oriented programming. In Functional Prog. and Computer Architecture, pages 273--280, 1989.
No context found.
Peter Canning, William Cook, Walter Hill, Walter Olthoff, and John Mitchell. F-bounded quantification for object-oriented programming. In Fourth International Conference on Functional Programming Languages and Computer Architecture, pages 273--280, September 1989.
No context found.
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for object-oriented programming. In Functional Prog. and Computer Architecture, pages 273--280, 1989.
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