| N. Suzuki, "Inferring Types in Smalltalk", Eighth Annual ACM Symposium on Principles of Programming Languages, Jan. 1981, 187-199. - 20 - |
....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, ....
N Suzuki. Inferring types in smalltalk. In 8th Annual Symposium on Principles of Programming Languages, pages 187--199, 1981. 5
....of a type to each object, deals with the domain of type inference. Ole Agesen s recent PhD thesis [2] contains a complete survey of related work. Reviewed systems range from purely theoretical ones [13] to systems in regular use by a large community [8] via partially implemented systems [11] [12] and systems implemented on small languages [5] 9] Using Agesen classication [2] SmallEioeel compiler s algorithm can be quali ed as polyvariant (which means each feature may be analyzed multiple times) and AEow insensitive (no data AEow analysis) Our algorithm deals both with concrete ....
N. Suzuki. Inferring Types in Smalltalk. In Eighth Symposium on Principles of Programming Languages, pages 187199, 1981.
....programs. The call graph construction (CGC) problem is analogous to the problem of performing control flow analysis (CFA) of Scheme [Shi88, Shi91b] As shown later, this problem is also analogous to the problem of determining types (TD) at specific program points for object oriented languages [PS91, PR93, Suz81]. Our CGC algorithm may be easily adapted to perform CFA and TD. The algorithm is significant since the CGC, CFA, and TD problems are of fundamental importance for efficient compilation of programs in procedural, functional, and object oriented languages, respectively. Pande Ryder [PR93] have ....
....Completeness constraint: Only procedures contained in a program may be called from a call site inside the program. In the absence of this constraint a procedure may call another procedure external to the program which may then call some procedure within the program. The TD algorithms [PR93, PS91, Suz81] also implicitly require an analogous constraint, i.e. only objects of types defined in a program may be pointed to. Shivers algorithms do not require this contraint. He presents a safe approximation for treating procedure references that escape to external procedures. His safe approximation ....
[Article contains additional citation context not shown here]
Norihisa Suzuki. Inferring types in Smalltalk. In Conference Record of the Eighth Annual ACM Symposium on Principles of Programming Languages, pages 187--199. ACM Press, January 1981.
....compiler. 1 Introduction There has been a lot of interest recently in type systems 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 ....
....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 ....
Norihisa Suzuki. Inferring types in Smalltalk. In Conference Record of the Eighth Annual ACM Symposium on Principles of Programming Languages, pages 187--199, 1981.
....flowinsensitive and therefore, does not perform strong updates. Concrete type inference and call graph construction for object oriented languages are subsumed by our analysis. There are many non modular whole program analysis approaches for these two problems. Most use constraint based analysis [Suz81, PS91, PC94, Age95, GDDC97, DGC98] but a few [CHS95, PR96, DMM96] are data flow based. Both [CHS95, PR96] are flow and context sensitive algorithms for C ; we have compared our empirical results with those in [PR96] which were non scalable. No implementation is reported in [CHS95] DMM96] ....
....interprocedural type propagation. GDDC97] presents a more complex notion of context which subsumes calling context and type context for some program variables. It presents a general framework for call graph construction of object oriented programs. Among constraint based approaches, Suz81, DGC98] are flow and context insensitive, while [PS91, PC94, Age95] are flow insensitive, but contextsensitive. None of the above approaches handle exceptions. BS96] is an extension of hierarchy analysis for C and thus it is flow and context insensitive. 7 Conclusions A new technique ....
N. Suzuki. Inferring types in smalltalk. In Proceedings of the ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages, pages 187--199, 1981.
....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 ....
Suzuki, N. Inferring types in Smalltalk. In Conference Record of the 8th International Symposium on Principles of Programming Languages (POPL'81) (Williamsburg, Virginia), 1981, 187 - 199.
....by the author in [Bar89] In particular the structures of several type systems were described. The rest of this section will provide a brief review some of the type systems featured in [Bar89] in order to provide some background for the type inference system introduced in Chapter 3. Suzuki [Suz81] made the first attempt to introduce a type inference system into Smalltalk, in this case Smalltalk 76, with the aim of providing feedback for the programmer. A detailed description of Suzuki s algorithm can be found in [Bar89] Unfortunately due to the restrictions of the language ....
Norihisa Suzuki. Inferring types in Smalltalk. In Proceedings of the Eighth ACM Symposium on the Principles of Programming Languages, pages 187--199, Williamsburg, Virginia, 1981.
....are solved by Points to Algo. The concrete types of a pointer are the classes of the objects to which it can point, and the final call graph is constructed during Phase II pta. There are many non modular, whole program analysis approaches for these two problems. Most use constraint based analysis [Suz81, PS91, PC94, Age95, GDDC97, DGC98] but a few [CHS95, PR96, DMM96] are data flow based. RCI di#ers from all these approaches because it is modular, it is able to analyze incomplete programs and it can analyze programs that have exceptions. Here we will discuss only some representative techniques ....
....in a bottom up manner. As a result, the framework in [GDDC97] is not suitable for modular analysis and analysis of incomplete programs. As stated earlier, another di#erence between [GDDC97] and RCI is that [GDDC97] does not consider flow due to exceptions. Among constraint based approaches, Suz81, DGC98] are flow and context insensitive, while [PS91, PC94, Age95] are flow insensitive, but context sensitive. PR96] extends the alias analysis algorithm presented in [LR92] for concrete type inference of C programs. As a result, the algorithm in [PR96] is both flow and context sensitive. ....
N. Suzuki. Inferring types in smalltalk. In Proceedings of the ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages, pages 187--199, 1981.
....parties. Adapting concrete type inference to work in such an environment remains a major technical challenge. 5. Related work Type inference for dynamically typed object oriented languages has been an active field since the early eighties. Suzuki pioneered the field in the Smalltalk community [Suz81]. He also used sets of classes as his basic types and had the same goal of eliminating dynamic dispatch to improve execution efficiency. The type inference system was an adaptation of Hindley Milner style type inference, extended with support for assignable variables, union types, and most ....
Norihisa Suzuki. Inferring Types in Smalltalk. In Conference Record of the Eighth Annual ACM Symposium on Principles of Programming Languages, p. 227-241, 1981.
....Thus, the Self compiler statically predicts types and generates optimized code including runtime type tests to verify its prediction. This optimization technique can be used in SPiCE. Type inferencing Identifying the class of the receiver, i.e. type inferencing, is very di#cult in Smalltalk [ Suzuki 1981; Borning and Ingalls 1982 ] However, recently the cartesian product algorithm [ Agesen 1995 ] has been proposed. It can infer concrete types of object oriented programs, and by incorporating it into the Self compiler, it can in line over 95 of all message sends. Since the Self language and ....
N. Suzuki: "Inferring Types in Smalltalk," in Conference Record of the Eighth Annual ACM Symposium on Principles of Programming Languages, pp. 187--199, January 1981.
....Adapting concrete type inference to work in such an environment remains a major technical challenge. 21 6. Related work Type inference for dynamically typed object oriented languages has been an active field since the early eighties. Suzuki pioneered the field in the Smalltalk community [Suz81]. He also used sets of classes as his basic types and had the same goal of eliminating dynamic dispatch to improve execution efficiency. The type inference system was an adaptation of Hindley Milner style type inference, extended with support for assignable variables, union types, and most ....
Norihisa Suzuki. Inferring Types in Smalltalk. In Conference Record of the Eighth Annual ACM Symposium on Principles of Programming Languages, p. 187-199, Williamsburg, VA, January 1981.
....export its mail address to third party actors. If the compiler ascertains that the conditions will hold during the execution, it generates the codes that exploit the information. 5. 5 Related Work A number of type inference mechanisms for object oriented programming languages have been proposed [115, 46, 100, 22]. In particular, the type inference in the THAL compiler is implemented using a constraint based type inference algorithm [100] The implementation is similar to that of [99] but is extended to infer types for groups and member actors. A more detailed discussion on constraint based type inference ....
Norihisa Suzuki. Inferring Types in Smalltalk. In Eighth Symposium on Principles of Programming Languages, pages 187--199. ACM Press, January 1981.
....transfer functions computed in terms of unknown initial values. Concrete type inference and call graph construction for object oriented languages are subsumed by our analysis. There are many non modular whole program analysis approaches for these two problems. Most use constraint based analysis [Suz81, PS91, PC94, Age95, GDDC97, DGC98] but a few [CHS95, PR96, DMM96] are data flow based. Both program lines ICFG methods virtual SCC s Max nodes calls SCC trees 217 280 25 3 21 3 deriv1 192 320 27 28 23 3 employ 947 463 60 4 60 1 richards 987 918 87 82 87 1 deltablue 1509 1471 112 185 112 1 ....
....interprocedural type propagation. GDDC97] presents a more complex notion of context which subsumes calling context and type context for some program variables. It presents a general framework for call graph construction of object oriented programs. Among constraint based approaches, Suz81, DGC98] are flow and context insensitive, while [PS91, PC94, Age95] are flow insensitive, but contextsensitive. None of the above approaches handle exceptions. BS96] is an extension of hierarchy analysis for C and thus it is flow and context insensitive. 8 Conclusion and Future Work We ....
N. Suzuki. Inferring types in smalltalk. In Proceedings of the ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages, pages 187--199, 1981.
....level pointers. Section 6 includes our preliminary implementation results. Finally, we conclude by summarizing our contributions. 2 Related Work 2 Program point specific type determination for object oriented languages has been attempted with varying degrees of success. Suzuki s algorithm [Suz81] handles languages like Smalltalk where objects serve as receivers of functions, but the problem is alleviated by the significant absence of pointers to objects. The algorithm by Palsberg and Schwartzbach [PS91] infers types of expressions in an object oriented language with inheritance, ....
Norihisa Suzuki. Inferring types in smalltalk. In Eighth Symposium on Principles of Programming Languages, pages 187--199, January 1981.
....describe the interaction between type determination and aliasing in the general case. Finally, we conclude by summarizing our results. 2 Related Work Program point specific type determination for object oriented languages has been attempted with varying degrees of success. Suzuki s algorithm [Suz81] handles languages like Smalltalk where objects serve as receivers of methods, but the problem is alleviated by the significant absence of pointers to objects. The algorithm by Palsberg and Schwartzbach [PS91] infers types of expressions in an object oriented language with inheritance, ....
Norihisa Suzuki. Inferring types in smalltalk. In Eighth Symposium on Principles of Programming Languages, pages 187-199, January 1981.
....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 ....
Suzuki, N., Inferring Types in Smalltalk, In Conference Record of the Eighth Annual ACM Symposium on Principles of Programming Languages, p. 187-199, Williamsburg, Virginia, Jan. 1981.
....extraction, type checking and application optimization. Ole Agesen s PhD thesis [Age96] contains a complete survey of type inference systems. Reviewed systems range from purely theoretical ones [VHU92] to systems in regular use by a large community [Mil78] with partially implemented systems [Suz81, ST84] and systems implemented on small languages [GJ90, PS91, PS92] While much research has been done on type inference [CF91, APS93, PC94, AH95, DGC95, EST95] with interesting results, common production compilers don t seem to take advantage of powerful type inference algorithms. Indeed, ....
N. Suzuki. Inferring Types in Smalltalk. In Eighth Symposium on Principles of Programming Languages, pages 187199, 1981.
....matrix library, the more limited replication scheme would only split the methods deeper in the library, selecting amongst the split and optimized algorithm kernels based on the type of a matrix argument. 7 Related Work Type inference in object oriented languages has been studied for many years [18, 11]. Constraint based type inference is described by Palsberg and Schwartzbach in [15, 14] The limitations of their algorithm to a single level of discrimination has motivated this research. Recently Agensen has extended the basic one level approach to handle the features of SELF [19] see [1] ....
Norihisa Suzuki. Inferring types in smalltalk. In Eigth Symposium on Principles of Programming Languages, pages 187--199, January 1981.
....the first assignment, and fBoolg after the second. Graver [Gra89] presents a version of Smalltalk called Typed Smalltalk where the compiler infers types for some variables whereas others must be explicitly given by the programmer. Graver s work essentially supersedes earlier work done by Suzuki [Suz81] Barnard [Bar93] presents a strategy for inferring types, using dataflow analysis. Again, this could be useful, if implemented, but one should adapt it for real time systems, where the entry point for the application is known. 5 Conclusions We began by presenting past and ongoing research in ....
N. Suzuki. Inferring Types in Smalltalk. In ACM Symposium on Principles of Programming Languages, pages 187--199, 1981.
.... the evaluation environment of expressions, the issues that arise in inferring the proper evaluation environment of Symmetric Lisp identifiers are quite similar to those that arise in inferring the proper method and class definitions for identifiers in late binding languages like Smalltalk[60]. The information yielded by a procedure that determines the evaluation environment of identifiers in a Symmetric Lisp program would be of greatest use to the Symmetric Lisp codegenerator. A code generator could use the information provided by this procedure to translate symbolic name references ....
Norihisa Suzuki. Inferring Types in Smalltalk. In 8 th ACM Symposium Principles of Programming Languages Conf., pages 187--199, January 1981.
....have a definition for it, bringing the system to an inelegant halt. We have solved both of these problems by adding a static type system to Smalltalk. The resulting type system is quite different from those proposed by others designing type systems for object oriented programming languages (e.g. [Suz81, BI82, Car84, BHJL86]) This is mainly because Smalltalk has a unique combination of useful features that no other language has. In general, a static type system has many uses: ffl it provides information that a compiler can use during code optimization to produce a more efficient program, 2 An ad hoc comparison of ....
....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]
Norihisa Suzuki. Inferring types in Smalltalk. In Conference Record of the Eighth Annual ACM Symposium on Principles of Programming Languages, pages 187--199, 1981.
No context found.
N. Suzuki, "Inferring Types in Smalltalk", Eighth Annual ACM Symposium on Principles of Programming Languages, Jan. 1981, 187-199. - 20 -
No context found.
N. Suzuki, `Inferring types in Smalltalk', Conference Record of the Eighth Annual A CM Symposium on Principles of Programming Languages, 1981, pp. 187--199.
No context found.
N. Suzuki. "Inferring types in Smalltalk. " In Proc. of the ACM Symp. on Principles of Programming Languages, 1981, pp. 187--199.
No context found.
Norihisa Suzuki. Inferring Types in Smalltalk. In Proceedings of the 8th Symposium on the Principles of Programming Languages, 1981.
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