35 citations found. Retrieving documents...
Weinreb, D., and Moon, D., 1979. Lisp machine manual, MIT AI Laboratory.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

Hybrid - A Language for Programming with Active Objects - Nierstrasz (1987)   (6 citations)  (Correct)

....are both powerful and flexible. We believe that the object oriented approach is appropriate for addressing all three of these issues in a clean and consistent manner. This is in marked contrast to traditional object oriented languages and systems, such as Smalltalk [Gold83] and Lisp with flavors [Wein81 Moon86], which address neither strong typing nor concurrency. Hybrid starts with the object oriented approach as it is manifested in various systems existing today, and it adapts it to a model in which objects are both strongly typed and highly concurrent. Objects are structured, and may contain other ....

D. Weinreb and D. Moon, The Lisp Machine Manual , Symbolics Inc., 1981.


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

....abstraction and strong typing. University of Washington. Blac86] In Objects and Things, ed. D.C. Tsichritzis, Centre Universitaire d Informatique, University of Geneva, March 1987, pp. 183 206. Flavors: Lisp with object classes and multiple inheritance. There are now many flavours of flavors. [Moon86 Wein81] Galileo: An interactive object oriented language from Pisa University. Objects in Galileo are persistent. Alba85] Gemstone: An object oriented database system from Servio Logic. Also check Jan 1987 TOOIS. Maie85] Hybrid: A programming language with multiple inheritance and active ....

D. Weinreb and D. Moon, The Lisp Machine Manual, Symbolics Inc., 1981.


Introducing Hybrid: A Unified Object-Oriented System - Nierstrasz   (Correct)

....interface to the object should be through its operations. Programming languages that support some form of data abstraction are growing in number quite rapidly, and are becoming difficult to enumerate. Some of these are : Simula [Birt73] Smalltalk [Gold83] CLU [Lisk77] Argus [Lisk83] Zetalisp [Wein81], C [Stro84] OOPC (Objective C) Cox83] Galileo [Alba85] Modula [Wirt83] Oz [Nier85a] Taxis [Mylo80] OPAL [Ahls84] Smallworld [Laff85] and BETA [Kris83] In Hybrid, ultimately everything is an object. The initiative to do things is also encapsulated in objects, consequently we do not ....

D. Weinreb and D. Moon, The Lisp Machine Manual, Symbolics Inc., 1981.


What is the "Object" in Object-oriented Programming? - Nierstrasz   (Correct)

....data abstraction, but no multiple instantiation or inheritance. It is impossible to add new types at run time. Some languages like Lisp and C have been enhanced to give them some object oriented capabilities, without taking away anything that was in the language before. In the case of Lisp [14], flavours , or traits have been added, so that one has both data abstraction and multiple inheritance. With Objective C, or its predecessor, OOPC) 5, 6] a pre processor was written that translates Objective C object classes into C code, that can then be compiled by a regular C compiler. ....

D. Weinreb and D. Moon, The Lisp Machine Manual, Symbolics Inc., 1981.


Modularity in the Presence of Subclassing - Stata (1997)   (4 citations)  (Correct)

....classes. We call these smaller classes mixins, after the 79 EvtHandler DocManager VObject BorderItem RarelyObservedMixin FilterMixin Figure 7.1: Example type and class hierarchy. process of mixing them together to form larger classes. Mixin was first coined in the Flavors community [Weinreb81], but our use follows [Booch94] The first section below describes how mixins can be supported in Java with only minimal language changes. The next section explains how a simplified subset of the specification and verification techniques of the previous chapters applies directly to mixins. Sec. ....

....with control abstractions. The Standard Template Library of C [Musser96] makes extensive use of control abstractions; interestingly, in the STL, extensibility is provided by parametric polymorphism rather than by subtype polymorphic. The term mixin was first coined in the Flavors community [Weinreb81]. It has been used in a number of contexts; see, e.g. Keene88] Bracha90] Booch94] Taligent94] 8.4. FUTURE WORK 95 [VanHilst96] In the context of multiple inheritance languages like C , a mixin is a partial class that implements a small part of the functionality of a larger class (see ....

D. Weinreb and D. Moon. Lisp Machine Manual, 4th Ed. Symbolics, Inc./MIT AI. Lab., 1981.


Bee: an Integrated Development Environment for the Scheme.. - Serrano (2000)   (3 citations)  (Correct)

.... The logical consequence is that programming in Lisp at the beginning of the 80 s was far easier than using FLs today Nowadays, we have extraordinarily powerful workstations but we use development environments that are much less attractive and much less powerful than the Lisp machines (Moon Weinreb, 1981; Symbolics Inc. 1981) used to be Even worse, development environments for functional languages are weaker than development environments for C 1.1 The Bee, an Integrated Development Environment for Scheme Experienced programmers have a lot of habits that constitute the basis of their ....

Moon, D., & Weinreb, D. (1981). Lisp machine manual. Technical Report. MIT Articial Intelligence Laboratory.


The Case For Reflective Middleware - Blair, Coulson   (Correct)

....to the addition of reflective facilities. The language 3 Lisp is arguably the most influential in this area [Smith82] Since then, a number of reflective, object oriented Lisp based languages have been developed including ObjVlisp [Cointe87] Loops [Bobrow83] CommonLoops [Bobrow86] Flavours [Weinreb81] and Eu Lisp [Bretthauer92] The experience from this research led to the development of the CLOS standard described above [Kiczales91] There has also been considerable research in the area of concurrent reflective languages. Significant contributors include AL 1 D [Okamura92] RbCl [Ichisugi92] ....

Weinreb, D., D. Moon, "Lisp Machine Manual", Available from Symbolics Inc. Cambridge, mass., USA, 1981.


A Theory of Primitive Objects - Abadi, Cardelli (1994)   (10 citations)  (Correct)

....pre = l(p:P xon ) p.n = Real 0.0, n pre = l(p:P xon ) abs(p.x) The o pre method of class classP xon is defined from the n component of P xon ; this is an implementation choice that creates a dependency between methods in the class. In fact, this is a delayed dependency, in the style of mixins [Weinreb, Moon 1981], because p.n is not yet bound to n pre . We now define the subclass classP xyon of classP xon . The method classP xon .o pre is reused (inherited) The n pre method is instead redefined (overridden) as a two dimensional norm. classP xyon : ClassP xyon [o pre = classP xon .o pre , n pre = ....

....YIntY, in V(Self=Y) y.mv x : l(s:Self)l(n:Int)y.mv x (s) n 1) V(Self) r:Self, mv x : SelfIntSelf, Thus we can reuse the code of old methods, and not just their results, in defining new methods. This ability is reminiscent of that provided by super and method wrappers facilities [Weinreb, Moon 1981], and by the elder construct of section 4.5.3. We can thus replace methods with function fields, opening some interesting possibilities. While we have done this for an object type A without Self, our technique might work even for V object types. Still, we cannot apply the technique to the recoup ....

D. Weinreb and D. Moon, Lisp machine manual, Fourth Edition, Chapter 20: Objects, message passing, and flavors. Symbolics Inc.


Encapsulation and Inheritance in Object-Oriented Programming.. - Snyder (1986)   (87 citations)  (Correct)

....designers or small groups of designers who design families of related classes. However, systems designers have found it useful to provide classes designed to be inherited by large numbers of classes defined by independent applications designers (the class window in the Lisp Machine window system [Weinreb81] is a good example) such designers need the protection of a well defined external interface to permit implementation flexibility. We will begin our examination of inheritance with the issue of access to inherited instance variables. Inheriting Instance Variables In most object oriented ....

....Shared ancestors typically arise when inheriting multiple base classes, where a base class is one that defines a complete set of operations and is generally designed to be instantiated. An alternative is to inherit a single base class and one or more mixin classes, where a mixin class [Weinreb81] defines a set of operations related to one particular feature and is designed only to be inherited from ( mixed into a class) Using this strategy, designers will be encouraged to create more, and more general, mixin classes. Further experimentation is needed to determine the practicality of ....

Daniel Weinreb and David Moon. Lisp Machine Manual. Symbolics, Inc., 1981.


Object-Oriented Programming in Scheme (Draft) - Adams (1989)   (Correct)

....of operation invocation, we introduce the procedure operate: define (operate selector the instance . args) apply (the instance selector) args) This lets us replace ( a cell store ) 34) with the somewhat more perspicuous (operate store a cell 34) Operate is analogous to send in old Flavors[23] and = in CommonObjects [16] 2.2 Inheritance The following defines a named cell that inherits behavior from a simple cell. define make named cell (lambda (value the name) let ( s cell (make simple cell value) lambda (selector) cond ( eq selector name) lambda ( the name) else ....

Daniel Weinreb and David Moon. Lisp Machine Manual. MIT AI Lab, 1981.


Wrappers to the Rescue - Brant, Foote, Johnson, Roberts (1998)   (30 citations)  (Correct)

....one at a time, it might be easy to dismiss these as Smalltalk specific minutiae, or as language specific hacks. However, taken together, they illustrate the power and importance of the reflective facilities that support them. Before and after methods as we now know them first appeared in Flavors [30] and Loops [5] The Common Lisp Object System (CLOS) 4] provides a powerful method standard combination facility that includes :before, after, and :around methods. In CLOS, a method with a :before qualifier that specializes a generic function, g, is executed before any of the primary methods on ....

D. Weinreb, and D. Moon. Lisp Machine Manual, Symbolics, 1981.


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

....arity(#) the arity of methods in #, #Q# the number of states in the corresponding LUA = Q, #, #, q 0 , F) and . ### the number of all possible dispatch cases, where #= function invocation m covered by ## m# Q # such that m# is applicable for m Since other lookup structures proposed in [13,15] need to prefill all possible dispatch cases #(we discuss this in section 8) as a comparison point, we calculate the parameters #Q#, ###, and ### #Q# for each application. For the example shown in Fig. 1, the values of these parameters are ### = 8, ###= 3, arity(#) 4, #Q# = 16, ### = 751, and ....

....the example shown in Fig. 1, the values of these parameters are ### = 8, ###= 3, arity(#) 4, #Q# = 16, ### = 751, and ### #Q# = 46.94. We tested five large applications. Table 1 shows these experimental results. Generally, the size of LUA is far less than the size of the other lookup structures [13,15] (the value #Q# is far less than ###) Moreover, it seems that the great benefit of our LUA technique reveals when the arity of # becomes greater. 8 Related Work Some related research has been discussed in previous sections. CLOS [6] and its predecessors CommonLoops [5] and Flavor [15] pioneered ....

[Article contains additional citation context not shown here]

MOON, D, AND WEINREB, D. Lisp Machine Manual, MIT AI Lab, 1981, Chapter 20.


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

....very appealing to imagine environments of highly independent active 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 ....

....that may move between object environments. Knos may be complex, consisting of many concurrent parts (i.e. domains) Knos may react to their environment based on the rules they contain. Our previous experiments with knos have been in terms of object oriented Lisp, using the flavors package [Wein81, Moon86]. We expect that the activities model that Hybrid provides will be useful for structuring knos, and that the triggering and delegation mechanism will be invaluable for managing the relationships between kno parts. Finally, we have been carrying out work on the modeling of cooperating active ....

D. Weinreb and D. Moon, The Lisp Machine Manual, Symbolics Inc., 1981.


Modularity in the Presence of Subclassing - Stata (1997)   (4 citations)  (Correct)

....of these smaller classes, each implementing different facets of an object s functionality, can be combined to form instantiable classes. We call these smaller classes mixins, after the process of mixing them together to form larger classes. Mixin was first coined in the Flavors community [Weinreb81], but our use follows [Booch94] The first section below describes how mixins can be supported in Java with only minimal lan79 80 CHAPTER 7. MULTIPLE INHERITANCE EvtHandler DocManager VObject BorderItem RarelyObservedMixin FilterMixin Figure 7.1: Example type and class hierarchy. guage changes. ....

....with control abstractions. The Standard Template Library of C [Musser96] makes extensive use of control abstractions; interestingly, in the STL, extensibility is provided by parametric polymorphism rather than by subtype polymorphic. The term mixin was first coined in the Flavors community [Weinreb81]. It has been used in a number of contexts; see, e.g. Keene88] Bracha90] Booch94] Taligent94] VanHilst96] In the context of multiple inheritance languages like C , a mixin is a partial class that implements a small part of the functionality of a larger class (see [Booch94] A mixin is ....

D. Weinreb and D. Moon. Lisp Machine Manual, 4th Ed. Symbolics, Inc./MIT AI. Lab., 1981.


A Fully Object-Oriented Exception Handling System: - Rationale And Smalltalk (2001)   Self-citation (Handling)   (Correct)

....procedural programming. All specifications have all been influenced by Goodenough s seminal paper [7] Well known implementations include MESA [15] CLU [13] or ADA [8] Exception handling systems have later been integrated into object oriented languages at the end of the 1980s (Zetalisp Flavors [17], CommonLisp( CLOS) 19] Eiffel [14] Objectworks Smalltalk [21] C [11] or more recently in Java. This papers presents an overview of the specification and implementation of an exception handling system initially conceived [3] for the Lore Object Oriented Language and adapted to Smalltalk ....

....Exceptional Events as First Class Objects. The idea that consists in representing each conceptual exception by a class and each of its concrete occurrences (what we call exceptional events) as an instance (an exception object) of that class can initially be found in Taxis [18] Zetalisp [17] or [1] and is now almost a consensus; all todays object oriented systems have integrated it. Let us shortly recall its main interests. Exceptions can be organized into a knowledge sharing inheritance hierarchy. It is possible trap different events with a single handler. Signalers can ....

D. Moon, D. Weinreb: Signaling and Handling Conditions. LISP Machine Manual, MIT AI-Lab., Cambridge, Massachussets, 1983.


Improving exception handling with Object-Oriented Programming - Dony   (4 citations)  Self-citation (Handling)   (Correct)

.... objects ) and software quality (modularity, information hiding, sharing of code, reusability and extendibility) 5] 8] 14] The key idea of the present work is to apply OOD to the specification of an exception handling system (EHS) as proposed earlier in Zetalisp [15] Taxis [17] or in [1] [16]. Our work is an extension of these systems towards a full object oriented representation of exceptional events and of protocols designed to handle them. The proposed concept organization first provides a promising set of solutions to most classical exceptions handling issues, such as those ....

....would be some instances. This provides a place to group together behaviors common to all exceptions but does not permit to group those relevant for all occurrences of a particular exception. A second solution which eliminates this drawback is to represent each exception as a class [16], the slots of which will represent its structure and the methods of which its functional properties. This representation also provides a solution as does the previous one to group together characteristics common to exceptions viewed as concepts, provided that meta classes (classes representing ....

D. Moon, D. Weinreb : Signalling and Handling Conditions, LISP Machine Manual, MIT AI Lab., Cambridge, Massachussets, 1983.


Exception Handling and Object-Oriented Programming: towards a.. - Dony (1990)   (14 citations)  Self-citation (Handling)   (Correct)

....raised by inner modules. 2) Smalltalk 80 [Goldberg al83] has shown the utility of attaching handlers to object classes (that we will call class handlers) providing an object oriented style of handling exceptional situations and of reusing code in which exceptions are signaled. 3) Nixon83] Moon al83] Borgida86] Pitman88] have proposed systems, where exceptions are hierarchically organized classes, that significantly improve classical EHS. Our goals are to synthesize, extend and simplify the above quoted systems in order to provide a user friendly, powerful, extendible and object oriented ....

....be some instances; this provides a place to group together behaviors common to all exceptions but does not offer any opportunity to particularize the behavior of each of them. A second solution which eliminates this drawback is to represent each exception as a class (cf. Taxis [Nixon83] Zetalisp [Moon al83] or [Borgida86] grouping together the characteristics common to exceptions viewed as concepts is again possible provided that meta classes exist in the language In our system, each occurrence of an exception is an instance of a subclass of the class ExceptionalEvent, which owns their common ....

[Article contains additional citation context not shown here]

D. Moon, D. Weinreb : Signalling and Handling Conditions, LISP Machine Manual, MIT AI Lab., Cambridge, Massachussets, 1983.


A Model for Deliberation, Action, and Introspection - Doyle (1980)   (1 citation)  (Correct)

No context found.

Weinreb, D., and Moon, D., 1979. Lisp machine manual, MIT AI Laboratory.


Attack of the Clones - James Noble Brian   (Correct)

No context found.

Moon, D., Stallman, R. & Weinreb, D. (1984), The Lisp Machine Manual, M.I.T. A I Laboratory.


Woodstein: A Web Interface Agent for Debugging E-Commerce - Wagner (2003)   (Correct)

No context found.

Daniel Weinreb and David Moon. The Lisp Machine Manual. Symbolics Inc., 1981.


Quasiquotation in Lisp - Alan Bawden Bawden (1999)   (16 citations)  (Correct)

No context found.

Daniel Weinreb and David Moon. Lisp Machine Manual. Symbolics Inc., July 1981.


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

No context found.

MOON, D, AND WEINREB, D. Lisp Machine Manual, MIT AI Lab, 1981, Chapter 20.


A Study of the Applicability of Existing Exception-Handling.. - Lang, Stewart (1998)   (4 citations)  (Correct)

No context found.

WEINREB,D.AND MOON, D. A. 1981. LISP machine manual. 4th ed. MIT AI Lab., Cambridge, Mass.


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

No context found.

MOON, D, AND WEINREB, D. Lisp Machine Manual, MIT AI Lab, 1981, Chapter 20.


Support for Knowledge Acquisition in the Knowledge.. - Motta, Eisenstadt, al. (1988)   (3 citations)  (Correct)

No context found.

Moon, D., Weinreb, D. Lisp Machine Manual, MIT, Cambridge, Massachussetts, 1984.

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