22 citations found. Retrieving documents...
R.E. Johnson. Type-checking Smalltalk. In Proceedings OOPSLA'86, pages 315--321. ACM, sep 1986.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Dynamic Type Inference to Support - Object-Oriented Reengineering In   (Correct)

....the initialize method. Such an approach alone is not really convincing because the initialize method can be implemented using a composed method [Bec97] resulting in no type information. Static type inference techniques have been developed for dynamically typed languages like Self and Smalltalk [BI82, Suz81, PC94, Age96, Joh86]. However, those techniques are complex to implement and require a lot of computation power. Type inference techniquesfor compiler implementation must provide strong optimizations and distinguish between Bat. Essi 650 Route des Colles. B.P. 145. 06903 Sophia Antipolis Cedex, France (blay, ....

R.E. Johnson. Type-checking Smalltalk. In Proceedings OOPSLA'86, pages 315--321. ACM, sep 1986.


Object-oriented Issues - A Literature Review - Nierstrasz   (Correct)

....process like objects. Quicktalk: A compilable dialect of Smalltalk, from Tektronix. Ball86] Simula: A simulation language with object classes. Birt73] Smalltalk: Programming language and environment from Xerox PARC. Some references detail experinces with implementation details. [Atki86 BYTE81 Born82a Born82b Caud86 Deco86 Deut84 Gold80b Gold83 Gold84 John86 Kaeh86 Kras83 Pasc86 Tesl81 Vegd86] Smallworld: Smalltalk descendent from IBM Yorktown. La#85] Spool: A Prolog based object oriented language from IBM Japan. Fuku86] Squeak: An object oriented language for communicating with mice. Card85a] Strobe: A language providing object oriented support for Lisp. See also Impulse 86. ....

R.E. Johnson, "Type-Checking Smalltalk", ACM SIGPLAN Notices, vol. 21, no. 11, pp. 315-321, Nov 1986.


Developments in Object-Oriented Type Systems - Schwartzbach (1994)   (5 citations)  (Correct)

.... 60 62 Definitions of class based inheritance are given in [57, 49, 110, 46, 63, 96, 9, 93] Annotated Bibliography 103 Slide 63 66 The soundness of covariance in Eiffel is questioned in [34] the soundness of the pure Simula version is argued in [60] Slide 67 Typed Smalltalk is developed in [51, 45, 44]. A system which preserve recursive structure is described in [78, 77, 83] Preservation of recursion in Eiffel is explained in [94] Slide 68 72 Covariance vs. contravariance is discussed briefly in the introduction or conclusion of most of the referenced papers. See also archives of the ....

Ralph E. Johnson. Type-checking Smalltalk. In Proc. OOPSLA '86, Object-Oriented Programming Systems, Languages and Applications, pages 315--321. Sigplan Notices, 21(11), November 1986.


Class Inheritance: The Mechanism and Its Uses - Ewing (1994)   (Correct)

.... type in Smalltalk s case this type is the set of features supported by the class (i.e. its predicate) Jones 1992) Just as in any other language, it is important that an operation be applied only to an object that will support it, and a type error will be raised if this is not the case (Johnson 1986). In Smalltalk, however, the type error will occur during operation lookup at runtime only then is a message to an object checked for its compatibility with the target operation (Palsberg and Schwartzbach 1994) Strongly typed OOPLs are another matter altogether classes and variables are ....

.... restriction and this is no exception 54 is a (Faulstich Brady 1993) A Stack of undefined types, Stack[UndefinedType] is conceptually able to accommodate any element type, therefore, to conform to the principle of substitutability, all subtypes must also be able to accommodate any element type (Johnson 1986). Clearly this is unreasonable and means that, in strongly typed OOPLs, parameterised types need to be implemented by a mechanism other than inheritance (e.g. genericity in Eiffel; templates in C ) Of course a language such as Smalltalk, unencumbered by subtyping constraints, can implement ....

Johnson, R. (1986, September). Type-checking Smalltalk. SIGPLAN Notices 21 (11).


The Design and Implementation of the SELF Compiler, an.. - Chambers (1992)   (3 citations)  (Correct)

.... type information upon which to base optimizations like procedure inlining [Joh87] In an effort to improve the speed of Smalltalk programs, Ralph Johnson and his group at the University of Illinois at UrbanaChampaign have designed an extension to Smalltalk called Typed Smalltalk [Joh86, JGZ88, McC89, Hei90, Gra89, GJ90]. They added explicit type declarations to Smalltalk and built an optimizing compiler, called TS, that uses these type declarations to improve run time performance. A type in Typed Smalltalk is either a (possibly singleton) set of classes or a signature. A variable declared to be of a ....

Ralph E. Johnson. Type-Checking Smalltalk. In OOPSLA '86 Conference Proceedings, pp. 315-321, Portland, OR, September, 1986. Published as SIGPLAN Notices 21(11), November, 1986.


Precise Type Analysis by Abstract Interpretation - Knoop, al. (1996)   (Correct)

....object oriented languages is an active field of research within the last fifteen years, and there is a broad variety of approaches that have been proposed for it. In spirit most closely related to our approach, though not really comparable, are the type inference based approaches as e.g. in [Ag1, Ag2, BI, GJ, Jo, OPS, PS1, PS2, Su], and the data flow analysis (DFA) based approaches as e.g. in [PC1, PC2, VHU] They characterize the state of the art of the type inference and the data flow analysis based approaches, respectively. The type inference approaches of [Ag2, OPS, PS2] improve on previous approaches of this group ....

Johnson, R. E. Type-checking Smalltalk. In Proceedings of the 1st ACM SIGPLAN Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'86) (Portland, Oregon), ACM SIGPLAN Notices 21 , 11, (1986), 315 - 321.


From Types to Dataflow: Code Analysis for an Object-Oriented.. - Barnard (1993)   (3 citations)  (Correct)

.... to understand and the messages to be sent to it (the infamous does not understand error) How such type information is added to the program code would seem to lie at the heart of the acceptability of this solution , as shown by moves away from type declarations, and towards type inference [Joh86, Gra89, PS91a] To summarise, programmers want more from their systems better speed, better feedback. It is proposed that the fulfillment of one or other of these desires, or even both, can be aided either by information provided by the programmers themselves annotations, for example ....

.... in lined into the compiled code at the point of the message send (so saving the cost of creating a context for the invoked method) In fact, with the method code in lined, it is argued that additional optimisations could be performed, so improving the efficiency of the compiled code even further [Joh86] 4 The significance of the type system lies in its provision of type information for variables. From the type information associated with a variable it should be possible to derive details about the kinds of objects which may assigned to that variable. Unfortunately, from an efficientcode ....

[Article contains additional citation context not shown here]

Ralph E. Johnson. Type-checking Smalltalk. ACM SIGPLAN Notices, 21(11):315--321, November 1986. Proceedings of the Conference on ObjectOriented Programming: Systems, Languages and Applications.


The Ts Type System - Tan   (Correct)

....programs can be annotated with type information, which the compiler can use to optimize programs. The type system for Typed Smalltalk is the first type system for a Smalltalk like language that is both type safe and flexible enough to handle the kind of polymorphic procedures used in Smalltalk [Joh86, GJ90] There is also a type inference system that can infer the type of each procedure [Gra89] Previous papers have focused on the specification of the type system. This thesis describes the design and implementation of the current Typed Smalltalk (TS) type system. Most type systems for object ....

Ralph E. Johnson. Type-checking Smalltalk. In Proceedings of OOPSLA `86, Object-Oriented Programming Systems, Languages and Applications, pages 315--321, November 1986. printed as SIGPLAN Notices, 21(11).


Whole-Program Optimization of Object-Oriented Languages - Chambers, Dean, Grove (1996)   (27 citations)  (Correct)

....systems combining static analysis and dynamic code generation are being developed [Consel Noel 96, Leone Lee 96, Auslander et al. 96, Engler et al. 96] 6. 2 Static Class Analysis The general approach of class analysis based on sets of concrete classes started with the Typed Smalltalk system [Johnson 86, Johnson 88] Most subsequent work on compiling object oriented languages has used a similar framework. Palsberg and Schwartzbach used a type system based on points (single classes) and cones (all classes inheriting from some class) in their work [Palsberg Schwartzbach 94] A number of ....

Ralph E. Johnson. Type-Checking Smalltalk. In Proceedings OOPSLA '86, ACM SIGPLAN Notices, pages 315--321, November 1986. Published as Proceedings OOPSLA '86, ACM SIGPLAN Notices, volume 21, number 11.


Active Objects in Hybrid - Nierstrasz (1987)   (56 citations)  (Correct)

....objects for solving concurrent and distributed problems. Previous work in object oriented systems, however, has emphasized reusability of objects, as in Smalltalk [Gold83] Objective C [Cox86] C [Stro86] and Lisp with flavors [Wein81] and, more recently, strong typing of objects in Smalltalk [John86] and in Owl [Scha86] with little or no attention paid to concurrency. Work on concurrent objects has been mostly limited to actor languages [Hewi77, Byrd82, Ther83] and other kinds of systems supporting message passing processes, such as Thoth [Gent81] Hybrid is an object oriented programming ....

R.E. Johnson, "Type-Checking Smalltalk," ACM SIGPLAN Notices, vol. 21, no. 11, pp. 315-321, Nov 1986.


The Cartesian Product Algorithm - Simple and Precise Type.. - Agesen (1995)   (47 citations)  (Correct)

....hard to analyze. Finally, Section 2.5 reviews how previous algorithms deal with polymorphism. A more detailed and complete version of this background material is found in [1] 2. 1 Definition of Type In the introduction we informally presented types as sets of classes, following Suzuki and Johnson [23, 15]. Since Self is prototype based and has no classes we need to modify the definition of type slightly. A Self program is a finite set of objects ( prototypes ) w 1 , w 2 , w n . For example, w 7 may be true and w 9 may be point. A program execution is the computation that results from ....

Johnson, R.E., Type-Checking Smalltalk. In OOPSLA'86 Object-Oriented Programming Systems, Languages and Applications, p. 315-321, Portland, Oregon, Sept. 1986.


Queries and Query Processing in Object-Oriented Database Systems - Straube (1990)   (71 citations)  (Correct)

....as a means to initiate actions, specialization via subclassing and inheritance. Smalltalk s significance lies in its uniform, understandable approach and early existence. Detracting from its acceptance are its performance and closed, single user environment. Various schemes such as type checking [Joh86] and improved object management [Kae86, Sta84] have been proposed to improve performance. A distributed version [Dec86] provides multi user capability but does not improve the interface to other programming environments. A.2 POSTGRES POSTGRES [RS87, SR86, Sto86] is a successor to the INGRES ....

R. Johnson. Type-Checking Smalltalk. In Proc. of the Object-Oriented Programming Systems and Languages Conference, pages 315--321, 1986.


The Design and Implementation of Kaleidoscope'90, A.. - Freeman-Benson, Borning (1992)   (5 citations)  (Correct)

....for trees, and another that iteratively defines the sum constraint for arrays. 4 A Prototype Implementation In [11] we describe the design and implementation of a prototype constraint imperative language, Kaleidoscope 90. Kaleidoscope 90 is an integration of a typed dialect of Smalltalk 80 [17] and an enhanced version of the constraint system from ThingLab II [22] This initial implementation interprets the constraint imperative programming semantics directly, resulting in a robust but very slow implementation. The interpreter is divided into three sections: a pre compiler, an ....

Ralph E. Johnson. Type-Checking Smalltalk. In Proceedings of the 1986 ACM Conference on Object-Oriented Programming Systems, Languages and Applications, pages 315--321, Portland, Oregon, November 1986. ACM.


Static Typing for Object-Oriented Programming - Palsberg, Schwartzbach (1994)   (6 citations)  (Correct)

....allow loop holes in the type system or resort to run time type checking in some cases. 2 Types Types are advantageous because an untyped program may be unreadable, unreliable, and inefficient. Any choice of type system for a language must be able to remedy some or all of the above deficiencies [29]. Types may be used as annotations, and those can be read not only by humans but also by the compiler which may be able to exhibit a safety guarantee and perform compile time optimizations. The safety guarantee will typically state that operations are only performed on arguments of the proper ....

....hard to preserve the type of the original value. It was long believed that bounded parametric polymorphism was sufficient [13] but it has been realized that considerably more fine grained type systems are required to handle even simple updates [12] Graver and Johnson s type system for Smalltalk [29, 27, 28] has much in common with ours. Their types are essentially finite sets of classes, but they have to axiomatize a subtype relation that corresponds exactly to set inclusion because the type system involves type variables. They also employ a notion of signature type which essentially denotes the ....

Ralph E. Johnson. Type-checking Smalltalk. In Proc. OOPSLA'86, ObjectOriented Programming Systems, Languages and Applications, pages 315--321. Sigplan Notices, 21(11), November 1986.


Iterative Type Analysis and Extended Message Splitting.. - Chambers, Ungar (1990)   (64 citations)  (Correct)

....rather than the object s representation or method dictionary. While this higher level view of an object s type is best for flexible polymorphic type checking, it provides little information for an optimizing compiler to speed programs. A different approach is taken by the Typed Smalltalk project [10, 11]. Their type system is based on sets of classes, and a variable s type specifies the possible object classes (not superclasses) that objects stored in the variable may have. If the number of possible classes associated with a variable is small, then messages sent to the variable can be inlined ....

Johnson, R. E. Type-Checking Smalltalk. In OOPSLA '86 Conference Proceedings. Published as SIGPLAN Notices, 21, 11 (1986) 315-321. ITERATIVE TYPE ANALYSIS AND EXTENDED MESSAGE SPLITTING 121


Class Types as Sets of Classes in Object-Oriented Formal.. - Chen (1994)   (Correct)

....language. However we believe the approach described in this paper applies to many other object oriented specification languages in general. The idea of using sets of classes as types has been investigated in the context of object oriented programming languages. It was first suggested by Johnson [11] and further explored by Graver and Johnson [8, 9] Recently Palsberg and Schwartzbach use the concept as the basis of the type system for a simple object oriented programming language, which is intended to be used for further understanding issues related to types in object oriented programming ....

Johnson, R.E., "Type-Checking Smalltalk", in Proceedings of Object-Oriented Programming Systems, Languages and Applications (OOPSLA'86), pages 315-321, Sigplan Notice 21(11), 1986.


Type-Checking and Type-Inference for Object-Oriented Programming.. - Graver (1989)   (6 citations)  (Correct)

....can be performed at compile time then it is possible to catch does not understand errors before any code is executed. Due to the fact that Smalltalk can discriminate between classes of objects, there are some methods that require more powerful type checking techniques such as case analysis [Joh86]. Other methods are impossible to fully type check without the context of a specific call site and must be type checked on a site to site basis. We extend our type system to handle this problem using a static analysis technique called abstract interpretation [CC77] While adding static typing to ....

....for our goals. The majority of type systems proposed for object oriented programming languages are inappropriate for a type safe Smalltalk optimizing compiler because they are specification based [BI82, Car84, CR85, CW85, BHJL86, SCB 86, Str86, Wan87, Car88, Mey88] rather than classbased [Suz81, ST84, Joh86]. In addition, many type systems for object oriented programming languages do not include parameterized types [Suz81, Car84, ST84, Str86] Parameterized types complicate a type system so this is rarely an oversight. It is usually a simplifying assumption whereby their omission is irrelevant with ....

[Article contains additional citation context not shown here]

Ralph E. Johnson. Type-checking Smalltalk. In Proceedings of OOPSLA `86, ObjectOriented Programming Systems, Languages and Applications, pages 315--321, November 1986. printed as SIGPLAN Notices, 21(11).


Constraint-Based Type Inference and Parametric Polymorphism - Agesen (1994)   (34 citations)  (Correct)

....a more precise type is a smaller set. For brevity, when the context disambiguates, we usually drop the distinction between objects and object types and simply write types as true, false . The idea that sets of objects (or classes) form a useful notion of type was developed by Graver and Johnson [9, 13]. 3 Type Inference Algorithms We are now ready to analyze the basic type inference algorithm and the four improvements. We present the algorithms in order of increasing power and precision. Table 1 1. This relation must be refined to analyze data polymorphism precisely. We must distinguish ....

Johnson, R.E., Type-Checking Smalltalk. In OOPSLA '86 Object-Oriented Programming Systems, Languages and Applications. 1986.


Making Pure Object-Oriented Languages Practical - Chambers, Ungar (1991)   (70 citations)  (Correct)

....compiler to speed programs. Our type analysis is more akin to traditional data flow analysis than type inference, in that it computes precise, time varying, representation level types for objects suitable for optimizations. 13 A different approach is taken by the Typed Smalltalk project [Joh86, JGZ88]. Users must annotate programs with type declarations for instance variables, class variables, global variables, and primitives, and then either run an inferencer to compute the types of methods and local variables [Gra89, GJ90] which, like type inference in ML, provides the compiler with little ....

Ralph E. Johnson. Type-Checking Smalltalk. In OOPSLA'86 Conference Proceedings, pp. 315321, Portland, OR, September, 1986. Published as SIGPLAN Notices 21(11), November, 1986.


Object-Oriented Type Inference - Palsberg, Schwartzbach (1991)   (134 citations)  (Correct)

....can be derived from the program without keeping track of nil values or flow analyzing the contents of instance variables. This makes the algorithm capable of checking most common programs; in particular, it allows for polymorphic methods. The algorithm is similar to previous work on type inference [18, 14, 27, 1, 2, 19, 12, 10, 9] in using type constraints, but it differs in handling late binding by conditional constraints and in resolving the constraints by least fixed point derivation rather than unification. The example language resembles Smalltalk [8] but avoids metaclasses, blocks, and primitive methods. Instead, it ....

Ralph E. Johnson. Type-checking Smalltalk. In Proc. OOPSLA'86, Object-Oriented Programming Systems, Languages and Applications, pages 315--321. Sigplan Notices, 21(11), November 1986.


A Type System for Smalltalk - Graver, Johnson (1990)   (34 citations)  Self-citation (Johnson)   (Correct)

.... for object oriented programming languages [CW85, DT88] Since Smalltalk was one of the earliest object oriented languages, it is not surprising that there have been several attempts to provide a type system for it [Suz81, BI82] Unfortunately, none of the attempts have been completely successful [Joh86]. In particular, none of the proposed type systems are both type safe and capable of type checking most common Smalltalk programs. Smalltalk violates many of the assumptions on which most objectoriented type systems are based, and a successful type system for Smalltalk is necessarily different ....

....language like Smalltalk, classes inherit only the implementation of their superclasses. In contrast, most type systems for object oriented programming languages require classes to inherit the specification of their superclasses [BI82, Car84, CW85, SCB 86, Str86, Mey88] not just the implementation [Suz81, Joh86]. A class specification can be an explicit signature [BHJL86] the implicit signature implied by the name of a class [SCB 86] or a signature combined with method preand post conditions, class invariants, etc. Mey88] Inheriting specification means that the type of methods in subclasses must be ....

[Article contains additional citation context not shown here]

Ralph E. Johnson. Type-checking Smalltalk. In Proceedings of OOPSLA `86, pages 315--321, November 1986. printed as SIGPLAN Notices, 21(11).


Interfaces and Specifications for the Smalltalk-80 Collection.. - Cook (1992)   (37 citations)  (Correct)

No context found.

R. Johnson. "Type-checking Smalltalk. " In Proc. of ACM Conf. on Object-Oriented Programming Systems, Languages and Applications, 1986, pp. 315--321.

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