35 citations found. Retrieving documents...
D. G. Bobrow, L. G. DeMichiel, R. P. Gabriel, S. E. Keene, G. Kiczales, and D. A. Moon. Common Lisp Object System Specification X3J13. SIGPLAN Notices, 28(Special Issue), September 1988.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

Efficient Multiple Dispatching Using Nested Transition-Arrays - Chen, Aberer (1995)   (Correct)

....supported by current languages. One is totally ordered multi methods. The methods are totally ordered by prioritizing argument position, with earlier argument positions completely dominating later argument positions. Perhaps the best known language supporting this kind of multi methods is CLOS [8]. The advantage of such a kind of multi methods is the disambiguity of the method specificity. However, the disadvantage is that the method specificity must rely on the argument positions and programmers may not really need that [10] The other kind of multi methods takes another view on the ....

....(or supertype) relation is defined. In general, the subtype relation forms just a partial ordering and can not resolve the typical problem of multiple inheritance conflict. Thus, some languages extend the subtype ordering by further ordering the supertypes of a type, e.g. local type ordering (CLOS [8]) and global type order ing (ComonLoops [7] some languages do not extend that, e.g. Cecil [10, 11] and Key [21] In any case, we uniformly say that A is less than B with respect to C if the following conditions hold: A and B are the supertypes of C; Either A is a subtype of B, or A ....

BOBROW, D. G., DEMICHIEL, L. G., GABRIEL, R. P., KEENE, S. E., KICZALES, G., AND MOON, D. A. Common Lisp Object System Specification X3J13. In SIGPLAN Notice 23, special issue, Sept. 1988.


Coarse-Grained Parallelism Using Metaobject Protocols - Rodriguez, Jr. (1991)   (10 citations)  (Correct)

....is not provided by the standard marks supported by Anibus, a meta program can be written in order to incrementally augment Anibus s parallelization strategy to support a new mark(s) for the desired mechanism. Anibus is implemented in Common Lisp[16] using its object oriented facility, CLOS[1, 16], to allow incremental augmentation of Anibus s parallelization strategy. Anibus s target language is a superset of Scheme called SPMD Scheme, 1 which provides low level language constructs that explicitly support concurrency at a processorlevel granularity. SPMD Scheme provides constructs for ....

Daniel G. Bobrow, Linda G. DeMichiel, Richard P. Gabriel, Sonya E. Keene, Gregor Kiczales, and David A. Moon. Common Lisp Object System specification X3J13. Sigplan Notices, 23(Special Issue), September 1988.


CyberDesk: a framework for providing self-integrating.. - Dey, Abowd, Wood (1998)   (17 citations)  (Correct)

....allows integration of isolated services is based on the concept of dynamic mediation. Mediation consists of two basic steps: registration of components and handling of events. Other systems that use mediation include UNIX pipes, Field [6] Smalltalk 80 MVC [7] Common Lisp Object System (CLOS) [8], and APPL A [9] UNIX pipes act as mediators that integrate UNIX programs. They are limited to reading and writing streams of data, where stream outputs can only be input to one stream, and they use only a single event. Field (and its extension Forest) integrate UNIX applications that have events ....

D. Bobrow et al., Common Lisp Object System Specification X3J13, Document 88-02R, ACM SIGPLAN Notices 23, September 1988.


Synergies Between Object-Oriented Programming Language Design.. - Chambers (1996)   (1 citation)  (Correct)

....level of implementation sophistication can be exploited to design a language as efficient as C but with significantly more uniformity and flexibility. 2 Language Design Research The Cecil language design began in 1991 as an attempt to combine the advantages of Self [Ungar Smith 87] CLOS [Bobrow et al. 88, Steele 90] and Trellis [Schaffert et al. 85, Schaffert et al. 86] a simple, uniform language based on dynamic dispatching, the use of multiple dispatching, and a sound static type system. The central design principle followed 2 in Cecil was to base the language on a flexible dynamic ....

D. G. Bobrow, L. G. DeMichiel, R. P. Gabriel, S. E. Keene, G. Kiczales, D. A. Moon. Common Lisp Object System Specification X3J13. In SIGPLAN Notices 23(Special Issue), September 1988.


Identifying Profitable Specialization in Object-Oriented.. - Jeffrey Dean Craig (1994)   (15 citations)  (Correct)

.... of small benchmarks 5 to 10 times more slowly than does optimized C, in large part due to the overhead of dynamic binding [Chambers Ungar 91] Even for hybrid languages that promote relatively coarse grained use of dynamic binding, such as C [Stroustrup 91] Modula 3 [Nelson 91] and CLOS [Bobrow et al. 88] dynamic binding can become a performance bottleneck if the programming style in use encourages heavier use of object oriented features. Program performance can be improved if the target of a dynamic message send can be determined at compiletime. By doing so, the cost of determining the target ....

D. G. Bobrow, L. G. DeMichiel, R. P. Gabriel, S. E. Keene, G. Kiczales, D. A. Moon. Common Lisp Object System Specification X3J13. In SIGPLAN Notices 23(Special Issue), September, 1988.


Vortex: An Optimizing Compiler for Object-Oriented.. - Dean, DeFouw, Grove.. (1996)   (68 citations)  (Correct)

.... Modula 3, and Smalltalk [Goldberg Robson 83] and to handle multiple inheritance languages such as Cecil, C , and Trellis [Schaffert et al. 85] However, some languages use other rules for method lookup (such as CLOS, which uses a left to right ordering of parents for resolving ambiguities [Bobrow et al. 88] and compiling such languages would require adding back end support for more generally computing the required partial order from the inheritance graph. C and Modula 3 support parameterized classes and or methods (templates in C and generic modules in Modula3) Currently, the front ends ....

D. G. Bobrow, L. G. DeMichiel, R. P. Gabriel, S. E. Keene, G. Kiczales, and D. A. Moon. Common Lisp Object System Specification X3J13. SIGPLAN Notices, 28(Special Issue), September 1988.


Coarse-Grained Parallelism Using Metaobject Protocols - Rodriguez, Jr. (1991)   (10 citations)  (Correct)

....is not provided by the standard marks supported by Anibus, a meta program can be written in order to incrementally augment Anibus s parallelization strategy to support a new mark(s) for the desired mechanism. Anibus is implemented in Common Lisp[16] using its object oriented facility, CLOS[1, 16], to allow incremental augmentation of Anibus s parallelization strategy. Anibus s target language is a superset of Scheme called SPMD Scheme, 1 which provides low level language constructs that explicitly support concurrency at a processorlevel granularity. SPMD Scheme provides constructs for ....

Daniel G. Bobrow, Linda G. DeMichiel, Richard P. Gabriel, Sonya E. Keene, Gregor Kiczales, and David A. Moon. Common Lisp Object System specification X3J13. Sigplan Notices, 23(Special Issue), September 1988.


Efficient Multiple Dispatching Using Nested Transition-Arrays - Chen, Aberer (1995)   (Correct)

....supported by current languages. One is totally ordered multi methods. The methods are totally ordered by prioritizing argument position, with earlier argument positions completely dominating later argument positions. Perhaps the best known language supporting this kind of multi methods is CLOS [8]. The advantage of such a kind of multi methods is the disambiguity of the method specificity. However, the disadvantage is that the method specificity must rely on the argument positions and programmers may not really need that [10] The other kind of multi methods takes another view on the ....

....(or supertype) relation is defined. In general, the subtype relation forms just a partial ordering and can not resolve the typical problem of multiple inheritance conflict. Thus, some languages extend the subtype ordering by further ordering the supertypes of a type, e.g. local type ordering (CLOS [8]) and global type order ing (ComonLoops [7] some languages do not extend that, e.g. Cecil [10, 11] and Key [21] In any case, we uniformly say that A is less than B with respect to C if the following conditions hold: A and B are the supertypes of C; Either A is a subtype of B, or A ....

BOBROW, D. G., DEMICHIEL, L. G., GABRIEL, R. P., KEENE, S. E., KICZALES, G., AND MOON, D. A. Common Lisp Object System Specification X3J13. In SIGPLAN Notice 23, special issue, Sept. 1988.


Towards Better Inlining Decisions Using Inlining Trials - Dean, Chambers (1994)   (18 citations)  (Correct)

....be even more beneficial in the context of higher level languages. Functional languages such as Scheme and ML [Rees Clinger 86, Milner et al. 90] pure object oriented languages such as Smalltalk and Eiffel [Goldberg Robson 83, Meyer 92] and reflective systems such as CLOS and SchemeXerox [Bobrow et al. 88, Adams et al. 93] encourage programmers to write general, reusable routines and solve problems by composing existing functionality, leading to programs with very high call frequencies. Compilers and partial evaluators, such as Similix and Schism [Bondorf 91, Consel 90] can exploit inlining to ....

D. G. Bobrow, L. G. DeMichiel, R. P. Gabriel, S. E. Keene, G. Kiczales, D. A. Moon. Common Lisp Object System Specification X3J13. In SIGPLAN Notices 23(Special Issue), September, 1988.


Efficient Dynamic Look-Up Strategy for Multi-Methods - Chen, Turau, Klas (1994)   (14 citations)  (Correct)

....in the method dispatching (method lookup) i.e. a method is dynamically dispatched based on the types of all arguments. These methods are called multi methods. The dispatching for multi methods is called multi dispatching. Perhaps the mostknown languages that support multi methods are CLOS [6] and its ancestor CommonLisp [5] One fundamental issue for multi methods is the efficient mechanism for method lookup. Efficient implementation of multi methods is critical with regard to its success as a standard. There have been several time efficient lookup mechanisms proposed [11, 13, 16] ....

....for the type C, and this rule is recursively applied. This rule must be based on the restriction that there must not exist another type B#p B such that C#B# and E# B D. If this restriction is satisfied, # is called consistent. In this paper, we always assume that # is consistent. 3 CLOS [6] is an example of a language that uses local type ordering to determine the type precedence. In this paper, we discuss the general lookup techniques for languages which use the local type ordering to determine the type precedence, while noticing possible simplified cases if # is a directed tree ....

[Article contains additional citation context not shown here]

BOBROW, D. G., DEMICHIEL, L. G., GABRIEL, R. P., KEENE, S. E., KICZALES, G., AND MOON, D. A. Common Lisp Object System Specification X3J13. In SIGPLAN Notice 23, special issue, Sept. 1988.


Applying Dynamic Integration as a Software Infrastructure.. - Abowd, Dey, Wood (1997)   (2 citations)  (Correct)

....and handling of events. This provides for the kind of flexible coordination or mediation between different components. We can compare our integration infrastructure with some other well known systems, such as UNIX pipes, Field [18, 19] Smalltalk 80 MVC [11] Common Lisp Object System (CLOS) [7]. UNIX pipes act as mediators that integrate UNIX programs. They are limited to reading and writing streams of data, stream outputs can only be input to one stream, and they use only a single event. Field (and its extension Forest) integrate UNIX applications that have events and methods which can ....

D. G. Bobrow, L. G. DeMichiel, R. P. Gabriel, S. E. Keene, G. Kiczales, and D. A. Moon. Common lisp object system specification x3j13. In SIGPLAN Notices 23 (special issue), September 1988.


Object-Oriented Multi-Methods in Cecil - Chambers (1992)   (98 citations)  (Correct)

....powerful form of message passing in which multiple arguments to a message can participate in method lookup. These languages are called multiple dispatching languages; methods in a multiple dispatching language are called multi methods. Perhaps the best known multiple dispatching language is CLOS [Bobrow et al. 88] CommonLoops [Bobrow et al. 86] one of CLOS s predecessors, pioneered support for multi methods. In a multiple dispatching language, the programmer can handle several interesting arguments by writing multi methods that dispatch on each interesting argument. For example, one multi method ....

....language. We also will explore programming environments for languages like Cecil, since we believe the presence of a supporting environment to be crucial for fostering a dataabstraction oriented programming style. 5 Related Work Much of the related research has already been discussed. CLOS [Bobrow et al. 88] and its predecessor CommonLoops [Bobrow et al. 86] pioneered the use of multiple dispatching. CLOS s inheritance rules are perhaps the most complex of any object oriented language, based on linearization of the inheritance graph using parent and argument order to totally order multi methods, ....

D. G. Bobrow, L. G. DeMichiel, R. P. Gabriel, S. E. Keene, G. Kiczales, D. A. Moon. Common Lisp Object System Specification X3J13. In SIGPLAN Notices 23(Special Issue), September, 1988.


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

....share many of the important characteristics of object oriented languages, when viewed from the compiler s perspective. For example, generic arithmetic and other generic operations in Common Lisp and 65 Whole Program Optimization of Object Oriented Languages Chambers et al. similar languages [Bobrow et al. 88] introduce overloaded operations over different run time representations that are selected among at run time, based on the run time type of the operands; this is just a non extensible kind of class hierarchy, and many of Vortex s techniques could be applied to optimizing this code. Recent ML and ....

D. G. Bobrow, L. G. DeMichiel, R. P. Gabriel, S. E. Keene, G. Kiczales, and D. A. Moon. Common Lisp Object System Specification X3J13. SIGPLAN Notices, 28(Special Issue), September 1988.


Identifying Profitable Specialization in Object-Oriented.. - Dean, Chambers, Grove (1994)   (15 citations)  (Correct)

.... of small benchmarks 5 to 10 times more slowly than does optimized C, in large part due to the overhead of dynamic binding [Chambers Ungar 91] Even for hybrid languages that promote relatively coarse grained use of dynamic binding, such as C [Stroustrup 91] Modula 3 [Nelson 91] and CLOS [Bobrow et al. 88] dynamic binding can become a performance bottleneck if the programming style in use encourages heavier use of objectoriented features. Program performance can be improved if the target of a dynamic message send can be determined at compile time. By doing so, the cost of determining the target ....

D. G. Bobrow, L. G. DeMichiel, R. P. Gabriel, S. E. Keene, G. Kiczales, D. A. Moon. Common Lisp Object System Specification X3J13. In SIGPLAN Notices 23(Special Issue), September, 1988.


A Proposal to Study Type Systems for Computer Algebra - Baumgartner, Stansifer (1990)   (3 citations)  (Correct)

....domains) implementing the same operation. Computationally, a generic function is a Lisp function that checks the type (domain) of its arguments and dispatches to the corresponding method. The notions of a method and a generic function are borrowed from CLOS, the Common Lisp Object System (see [Bobrow et al. 1988] and [Keene 1988] We use two language constructs to deal with methods, proclaim to declare the data type of a method, and defmethod instead of defun to define the method. For example, proclaim (method s polynomial (sparse univariate poly sparse univariate poly) sparse univariate poly) ....

....code into the new language, and benchmark against the Lisp implementation and existing computer algebra systems. For the first implementation there are several possible Lisp dialects to choose from. The most promising ones are Common Lisp and Scheme, or their objectoriented counterparts CLOS ([Bobrow et al. 1988]) and Oaklisp ( Lang, Pearlmutter 1988] The advantage of Common Lisp is its widespread availability; the advantage of Scheme, on the other hand, is that there exists a highly optimizing compiler (see [Kranz 1988] The actual choice of a Lisp dialect will depend on the availability of good ....

Bobrow, D.G., DeMichiel, L.P., Gabriel, R.P., Keene, S.E., Kiczales, G., Moon, D.A., 1988: Common Lisp Object System Specification X3J13, Document 88-002R. ACM SIGPLAN Notices, vol. 23, special issue, September 1988.


Whole-Program Optimization of Object-Oriented Languages - Dean (1996)   (20 citations)  (Correct)

.... and all other optimizations but did not perform dead closure creation elimination [Chambers et al. 96] 112 [Rees Clinger 86] and ML [Milner et al. 90] pure object oriented languages such as Smalltalk [Goldberg Robson 83] and Cecil [Chambers 93a] and reflective systems such as CLOS [Bobrow et al. 88] and SchemeXerox [Adams et al. 93] encourage programmers to write general, reusable routines and solve problems by composing existing functionality, leading to programs with very high call frequencies. Inlining can reduce the cost of these abstraction mechanisms and thereby foster better ....

D.G. Bobrow, L.G. DeMichiel, R.P. Gabriel, S.E. Keene, G.Kiczales, and D.A. Moon. Common Lisp Object System Specification X3J13. SIGPLAN Notices, 28(Special Issue), September 1988.


Coarse-Grained Parallelism Using Metaobject Protocols - Rodriguez, Jr. (1991)   (10 citations)  (Correct)

....is not provided by the standard marks supported by Anibus, a meta program can be written in order to incrementally augment Anibus s parallelization strategy to support a new mark(s) for the desired mechanism. Anibus is implemented in Common Lisp[16] using its object oriented facility, CLOS[1, 16], to allow incremental augmentation of Anibus s parallelization strategy. Anibus s target language is a superset of Scheme called SPMD Scheme, 1 which provides low level language constructs that explicitly support concurrency at a processorlevel granularity. SPMD Scheme provides constructs for ....

Daniel G. Bobrow, Linda G. DeMichiel, Richard P. Gabriel, Sonya E. Keene, Gregor Kiczales, and David A. Moon. Common Lisp Object System specification X3J13. Sigplan Notices, 23(Special Issue), September 1988.


OSUIF: SUIF 2.0 With Objects - Duncan, Cocosel, Iancu, Kienle..   (Correct)

....Vortex project [DDG96] at the University of Washington uses an intermediate form that provided support for such object oriented features as inheritance hierarchy, message sends and polymorphism, instance variable access, and runtime type inquiry. This system uses the concept of a generic function [BDG88] to represent the concepts of procedures, methods, and multimethods. A unified back end is coupled to any number of language specific front ends; among the source languages supported are Cecil, C , Java, and Modula 3. scope statement statement throw statement procedure definition ....

D.G. Bobrow, L. G. DeMichael, R.P. Gabriel, S.E. Keene, G. Kiczales, and D.A. Moon. Common Lisp Object System Specification X3J13. SIGPLAN Notices, vol. 28 (Special Issue), September 1988.


Bibliography - Chambers   Self-citation (Notices)   (Correct)

No context found.

D. G. Bobrow, L. G. DeMichiel, R. P. Gabriel, S. E. Keene, G. Kiczales, D. A. Moon. Common Lisp Object System Specification X3J13. In SIGPLAN Notices 23, September, 1988.


The Cecil Language - Specification and Rationale - Version 3.0 - Chambers (1995)   (12 citations)  Self-citation (Specification)   (Correct)

....systems [Chambers 92b, Chambers 93b, Chambers Leavens 94] Cecil is unusual in combining a pure, classless object model, multiple dispatching (multi methods) modules, and mixed static and dynamic type checking. Cecil was inspired initially by Self [Ungar Smith 87, Hlzle et al. 91a] CLOS [Bobrow et al. 88, Gabriel et al. 91] and Trellis [Schaffert et al. 85, Schaffert et al. 86] The current version of Cecil extends the earlier version [Chambers 93a] with predicate objects, modules, and efficient typechecking algorithms. 1.1 Design Goals and Major Features Cecil s design results from several ....

....one of the most interesting features of Self; predicate objects are Cecil s more structured but more restricted alternative to dynamic inheritance. Freeman Benson independently developed a proposal for adding multi methods to Self [FreemanBenson 89] Common Loops [Bobrow et al. 86] and CLOS [Bobrow et al. 88, Gabriel et al. 91] incorporate multi methods in dynamically typed class based object oriented extensions to Lisp. Method specializations (at least in CLOS) can be either on the class of the argument object or on its value. One significant difference between Cecil s design philosophy and that in ....

D. G. Bobrow, L. G. DeMichiel, R. P. Gabriel, S. E. Keene, G. Kiczales, D. A. Moon. Common Lisp Object System Specification X3J13. In SIGPLAN Notices 23(Special Issue), September, 1988.


Bibliography - Chambers   Self-citation (Notices)   (Correct)

No context found.

D. G. Bobrow, L. G. DeMichiel, R. P. Gabriel, S. E. Keene, G. Kiczales, D. A. Moon. Common Lisp Object System Specification X3J13. In SIGPLAN Notices 23, September, 1988.


Effective Interprocedural Optimization of Object-Oriented Languages - Grove (1998)   (5 citations)  (Correct)

No context found.

D. G. Bobrow, L. G. DeMichiel, R. P. Gabriel, S. E. Keene, G. Kiczales, and D. A. Moon. Common Lisp Object System Specification X3J13. SIGPLAN Notices, 28(Special Issue), September 1988.


Vol. 3, No. 10, 2004 Software interactions - Anis (2004)   (Correct)

No context found.

D. G. Bobrow, L. G. DeMichiel, R. P. Gabriel, S. E. Keene, G. Kiczales, and D. A. Moon. Common lisp object system specification x3j13. In SIGPLAN Notices (Special Issue), 23, 1988.


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

No context found.

D. G. Bobrow, L. G. DeMichiel, R. P. Gabriel, S. E. Keene, G. Kiczales, D. A. Moon. Common Lisp Object System Specification X3J13. In SIGPLAN Notices 23, September, 1988.


Predicate Classes - Chambers (1993)   (74 citations)  (Correct)

No context found.

D. G. Bobrow, L. G. DeMichiel, R. P. Gabriel, S. E. Keene, G. Kiczales, D. A. Moon. Common Lisp Object System Specification X3J13. In SIGPLAN Notices 23(Special Issue), September, 1988.

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