74 citations found. Retrieving documents...
Kim Bruce. Safe type checking in a staticallytyped object-oriented programming language. In Proceedings of the Twentieth Annual ACM Symposium on the Principles of Programming Languages, pages 285--298, January 1993.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

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

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

....are both guaranteed to exist and hence may be handled in a more automatic fashion in class encodings. ffl Direct Models: Bruce has developed a family of type safe formal languages that model classes directly instead of via an interpretation as the combination of more basic primitives. In [Bru93], Bruce describes TOOPL, a functional OO language. PolyTOIL, presented in [BSvG95] incorporates imperative features and introduces the notion of matching , a relationship between object types that holds whenever the first is an extension of the second, regardless of the variance of the MyType ....

[Article contains additional citation context not shown here]

K. Bruce. Safe type checking in a statically-typed objectoriented programming language. In Proc. of POPL'93, pages 285--298. ACM, 1993.


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

....for programs that use new features should be minimal (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 ....

....when executed by an instance of C. However, if the method is inherited by a subclass, D, then the same expression with type ThisType, has the type of D s interface. This solution to the binary method problem in object oriented languages is described in [BCC 95] and implemented in TOOPLE [Bru93] PolyTOIL [BSvG95] and [BFP97] ThisType solves the binary method problem by supporting the naming of the type of this in the type system. A ThisType like construct also exists in the Ei#el [Mey92] and Trellis Owl [SCB 86] languages. Using ThisType, we can easily redefine our node ....

K. Bruce. Safe type checking in a statically typed object-oriented programming language. In Proc. ACM Symp. on Principles of Programming Languages, pages 285--298, 1993. 5, 17


An Imperative, First-Order Calculus with Object Extension - Bono, Fisher (1998)   (4 citations)  (Correct)

....functions are both guaranteed to exist and hence may be handled in a more automatic fashion in class encodings. Direct Models: Bruce has developed a family of type safe formal languages that model classes directly instead of via an interpretation as the combination of more basic primitives. In [10], Bruce describes TOOPL, a functional object oriented language. PolyTOIL, presented in [11] incorporates imperative features and introduces the notion of matching, a relationship between object types that holds whenever the first is an extension of the second, regardless of the variance of the ....

K. Bruce. Safe type checking in a statically-typed object-oriented programming language. In Proc. 20th ACM Symp. Principles of Programming Languages, pages 285--298, 1993. 483


Higher-Order Subtyping - Steffen, Pierce (1994)   (7 citations)  (Correct)

....to deal properly with the interaction between subtyping and object encapsulation. A number of typed object models have been given in this general setting. Cook, Canning, Hill, Olthoff, and Mitchell [CCH 89, CHC90] proposed a variant called F bounded quantification, which was used by Bruce [Bru93] to give the first full account of static typing for Smalltalk style objects. Pierce and Turner [PT93a, PT93b] gave a similar model using existential types instead of recursive types to capture object encapsulation, effectively working within pure F . These two approaches were generalized by ....

Kim B. Bruce. Safe type checking in a statically typed object-oriented programming language. In Proceedings of the Twentieth ACM Symposium on Principles of Programming Languages, January 1993. To appear in Journal of Functional Programming.


The Recursive Record Semantics of Objects Revisited - Boudol (2001)   (20 citations)  (Correct)

....to call a myClass parameter. This model is operationally quite expressive, but the type theory that it uses is also quite elaborate, and does not full our desires, of reconstruction of a principal type. The same remark actually applies to all the object models that use higher order types, e.g. [2, 9, 18, 20, 39]. In another approach, due to Kamin [28] and known as the self application semantics, an object is a record of pre methods, that are functions of the object itself. The object is bound to self only when a method is invoked, by applying the pre method to the object. In this way, the state of the ....

.... decisions, about inheritance in particular a concept which is still a matter of debate in the object oriented programming community (see [48] for example) As a matter of fact, many of the proposals for an object model, including OCaml, follow this approach of designing a specic calculus, e.g. [2, 4, 9, 20, 44]. However, there could be some benets from deriving object oriented concepts from more basic principles: rst, their typing could be derived within simple, unquestionable typing systems. Second, they could be better integrated in a standard computational model, in which one could formalize and ....

K. Bruce, Safe type checking in a statically-typed object-oriented programming language, POPL'93 (1993) 285-298.


Match-O, a Dialect of Eiffel with Match-Types - Colnet, Liquori (2000)   (Correct)

....explains some problems we encountered while trying to bootstrap the Match O compiler. Section 5 concludes and presents some related work, together with some future work. 2: The Match O types A great theoretical e ort has been devoted in the last years to nding sound and expressive type systems [5, 6, 8, 3, 1, 16, 19, 18, 22, 23, 2, 24] featuring a subtyping relation compatible with mytype method specialization. The matching relation over object types. In Bruce s theory, an object type (essentially a type interface) has the form OT hhv i : a i ; m j : b j ii i2I j2J , where OT is a binder for the type variable Mytype ....

K.B. Bruce. Safe Type Checking in a Statically-typed Object-oriented Programming Language. In Proc. of POPL, pages 285-298, 1993. Extended version in Journal of Functional Programming.


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

....of California at Berkeley. Current address: Department of Computer Science, Stanford University. The language PolyTOIL is the culmination of a series of design efforts to build a type safe language based on progress in the theoretical understanding of object oriented languages. In [Bru93] we introduced a statically typed, functional, object oriented language, TOOPLE. This and subsequent papers [Bru94, BCK94, BCD 93] provided typing rules and both denotational and operational semantics for the language. These papers included proofs of the relative consistency of the ....

....which is based on the natural semantics given here. Though not included here, there is also a denotational semantics for TOIL (which should be easily extensible to PolyTOIL) along with a proof of the soundness of type checking with respect to the denotational semantics (similar to that in [Bru93] and [Bru94] See [vG93] for details. Recent work with Leaf Petersen and Jasper Rosenberg at Williams College involved adding new features to the language, improving the interpreter, and improving the readability of the concrete syntax. New features added include new control constructs, ....

K. Bruce. Safe type checking in a statically typed object-oriented programming language. In Proc. ACM Symp. on Principles of Programming Languages, pages 285--298, 1993.


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

....constructor) is an application of the xed point operator. In contrast to our calculus, the subclass must know and directly initialize the elds of the superclass. Another solution, proposed in [28] is to rename the superclass elds, but this does not ensure consistent initialization. TOOPL [8] is a calculus of classes and objects. MyType specialization is used for inheritance, forcing late self binding (i.e. self is bound each time a method is invoked, and not just once when the object is created) To ensure type safety when MyType appears in the method signature, there are standard ....

Bruce, K. B., Safe type checking in a statically-typed object-oriented programming language, in: Proc. POPL '93, 1993, pp. 285-298.


Nested Types - Odersky, Zenger (2001)   (4 citations)  (Correct)

....private next: DLL def getNext: DLL def setNext(n: DLL) With the subtyping rule for functions, which is contravariant in the argument type, we get that the type of LL.setNext is not a subtype of the type of DLL.setNext, hence the method override is illegal. The concept of self types [Bru93] addresses this problem. The idea is to allow in a class definition references to the type This, which stands for the type of the object currently being defined. Hence, This might equal the enclosing class (if the object being defined is of the class itself) or a subclass (if the class is ....

Kim B. Bruce. Safe type checking in a statically-typed object-oriented programming language. In Conference Record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina, January 10--13, 1993, pages 285--298. ACM Press, January 1993.


On the Relationship Between Classes, Objects, and Data.. - Fisher, Mitchell   (Correct)

....and implementation types. As the name suggests, interface types constrain only the interface of objects, specifying the set of messages each object must understand and the types of these messages. This form of object type has been extensively studied in the theoretical literature, e.g. AC96c, Bru93, FHM94, PT94] and the earlier papers appearing in [GM94] but it is not used in current class based languages. In contrast, implementation types are a form of abstract type. An implementation type specifies both the interface and a portion of the implementation of an object. Although interface ....

.... types Interface types Flexibility E#ciency Behavioral Guarantees Binary Methods Current languages use implementation types, essentially identifying classes and their associated object types, but interface types have been widely studied in the theoretical literature [AC96c, Bru93, FHM94, PT94, GM94] It is possible to associate both an interface and an implementation type with each classes, since, as we will see in the next section, each implementation type is typically a subtype of the interface type obtained by forgetting its implementation constraints. This technique ....

[Article contains additional citation context not shown here]

K. Bruce. Safe type checking in a statically-typed object-oriented programming language. In Proc. 20th ACM Symp. Principles of Programming Languages, pages 285--298, 1993.


A Typed Higher-Order Programming Language Based on the.. - Pierce, Rémy.. (1993)   (15 citations)  (Correct)

....listed in the appendices. Some other useful extensions, such as subtyping, recursive types, and polymorphism, are described (in various combinations) in the literature (c.f. Mil89, Gay93, PS93, VH93, Tur93] Indeed, recent work on static type systems for sequential objectoriented languages (c.f. [Car88, Bru93, PT93]) indicates that a general treatment of the object oriented features that we introduce in Section 7 might be based on a combination of all of these features. 4 Process Typing A type system ensuring the absence of run time errors can be built using techniques familiar from calculus and ....

....can be processed while the fold operation on t is still in progress. This simple account of objects and their types leaves out several important features, most importantly subtyping and the definition of recursive object types. A full treatment based on recent type systems for sequential objects [Car88, Bru93, PT93] is in progress. We have also chosen to omit any mechanism for inheritance for the time being; its status in concurrent object oriented languages is still a matter of controversy. A Syntax Summary We rely on the following meta syntactic conventions: The possible forms of each production are ....

Kim B. Bruce. Safe type checking in a statically typed object-oriented programming language. In Proceedings of the Twentieth ACM Symposium on Principles of Programming Languages, January 1993.


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

....In contrast to our calculus, the subclass must know and directly initialize the fields of the superclass. There is also no support for parameterized inheritance. Another solution, proposed in [40] is to rename the superclass fields, but this does not ensure consistent initialization. TOOPL [13] is a calculus of classes and objects. MyType specialization is used for inheritance, forcing late self binding (i.e. self is bound each time a method is invoked, and not just once when the object is created) To ensure type safety when MyType appears in the method signature, there are standard ....

K. B. Bruce. Safe type checking in a statically-typed object-oriented programming language. In Proc. POPL '93, pages 285--298, 1993.


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

....directly initialize the fields of the superclass. In our calculus, modularity is achieved by having each class s field initialized by the class s own generator. Another solution, proposed in [Re88] is to rename the superclass fields, but this does not ensure consistent initialization. ffl TOOPL [Bru93] is a calculus of classes and objects. MyType specialization is used for inheritance, forcing late self binding (i.e. self is bound each time a method is invoked, and not just once when the object is created) To ensure type safety when MyType appears in the method signature, there are standard ....

K. Bruce. Safe type checking in a statically-typed object-oriented programming language. In POPL '93, pages 285--298. ACM Press, 1993.


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

.... PolyTOIL is the result of a series of design e orts to build a type safe language based on progress in the theoretical understanding of object oriented languages (see [Car88, CW85, CHC90, CCH 89, PT93, AC94b, AC94a, AC95] for example, for work on modelling objectoriented features) In [Bru93] we introduced a statically typed, functional, object oriented language, TOOPLE. This and subsequent papers [Bru94, BCK94, BCD 93] provided typing rules and both denotational and operational semantics for the language. These papers included proofs of the relative consistency of the ....

Kim B. Bruce. Safe type checking in a statically typed object-oriented programming language. In Proc. ACM Symp. on Principles of Programming Languages, pages 285{ 298, 1993.


Pict: A Programming Language Based on the Pi-Calculus - Pierce, Turner (1997)   (180 citations)  Self-citation (Language)   (Correct)

.... calculus [Mil91, Gay93, 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 ....

Kim B. Bruce. A paradigmatic object-oriented programming language: Design, static typing and semantics. Journal of Functional Programming, 4(2), April 1994. A preliminary version appeared in POPL 1993 under the title "Safe Type Checking in a Statically Typed Object-Oriented Programming Language". 22


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

.... PolyTOIL is the result of a series of design efforts to build a type safe language based on progress in the theoretical understanding of object oriented languages (see [Car88, CW85, CHC90, CCH 89, PT93, AC94b, AC94a, AC95] for example, for work on modelling objectoriented features) In [Bru93] we introduced a statically typed, functional, object oriented language, TOOPLE. This and subsequent papers [Bru94, BCK94, BCD 93] provided typing rules and both denotational and operational semantics for the language. These papers included proofs of the relative consistency of the ....

K. Bruce. Safe type checking in a statically typed object-oriented programming language. In Proc. ACM Symp. on Principles of Programming Languages, pages 285--298, 1993.


Subtyping and Parametricity - Plotkin, Abadi, Cardelli (1993)   (4 citations)  (Correct)

No context found.

Kim Bruce. Safe type checking in a staticallytyped object-oriented programming language. In Proceedings of the Twentieth Annual ACM Symposium on the Principles of Programming Languages, pages 285--298, January 1993.


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

No context found.

Kim B. Bruce. A paradigmatic object-oriented programming language: Design, static typing and semantics. Journal of Functional Programming, 4(2), April 1994. Preliminary version in POPL 1993, under the title "Safe type checking in a statically typed object-oriented programming language".


Java `ight is Type-Safe --- Definitely - Tobias Nipkow And (1998)   (1 citation)  (Correct)

No context found.

K. B. Bruce. Safe type checking in a statically-typed object-oriented programming language. In Proc. 20th ACM Symp. Principles of Programming Languages, pages28.es# ACM Press, 1993.


Basic theory of F-bounded quantification - Baldan, Ghelli, Raffaetà (1999)   (Correct)

No context found.

K. B. Bruce. A paradigmatic object-oriented programming language: Design, static typing and semantics. Journal of Functional Programming, 4(2), April 1994. A preliminary version appeared in POPL 1993 under the title "Safe Type Checking in a Statically Typed ObjectOriented Programming Language".


A Framework for Module-Based Language Processors - Banavar, Lindstrom (1993)   (Correct)

No context found.

Kim B. Bruce. Safe type checking in a statically typed object-oriented programming language. In Susan Graham, editor, Proc. Symposium on Principles of Programming Languages, 1993.


Positive Subtyping - Hofmann, Pierce (1994)   (4 citations)  (Correct)

No context found.

Kim B. Bruce. A paradigmatic object-oriented programming language: Design, static typing and semantics. Journal of Functional Programming, 4(2), April 1994. A preliminary version appeared in POPL 1993 under the title "Safe Type Checking in a Statically Typed Object-Oriented Programming Language".


A Formal Foundation for Concurrent Object Oriented Programming - Grosu (1995)   (2 citations)  (Correct)

No context found.

K. Bruce. Safe type checking in a statically-typed object-oriented programming language. In Proc 20th ACM Symp. Principles of Programming Languages, pages285--= 1993.


Machine-checking the Java Specification: Proving Type-Safety - von Oheimb, Nipkow (1999)   (10 citations)  (Correct)

No context found.

Kim B. Bruce. Safe type checking in a statically-typed object-oriented programming language. In Proc.20? ACM Symp. Principles of Programming Languages, pages28es ACM Press, 1993.


Typed Declarative Object-Oriented Database Programming - Alagi'c Sunderraman And   (Correct)

No context found.

K. Bruce. Safe type checking in a statically typed object-oriented programming language. In Proceedings of ACM POPL-93, pages 285--298. ACM Press, 1993.

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