22 citations found. Retrieving documents...
Richard Gabriel, Jon White, and Daniel Bobrow. CLOS: Integrating objectoriented and functional programming. CACM: Communications of the ACM, 34, 1991.

 Home/Search   Document Not in Database   Summary   ACM   TOC   Related Articles   Check  

This paper is cited in the following contexts:
Type-checking multi-methods in ML (A modular approach) - Bonniot (2002)   (Correct)

....for clarity purposes, but they do not raise any diculties. 8 3. 4 Multi methods Multi methods are less popular than mono methods used in single dispatch languages (C [23] Java [16] Ocaml [22] They have nevertheless been studied and used in several programming languages (CLOS [2, 15], Dylan [13] Cecil [6, 7] However, their type checking with polymorphic types, in a decidable and modular way that preserves type inference on ML expressions is still an issue. We present here multi methods as a particular case of open generic functions (Section 3.2) using the ML ....

R. P. Gabriel, J. L. White, and D. G. Bobrow. CLOS: Integrating object-oriented and functional programming. Communications of the ACM, 34(9):28-38, September 1991.


Object Evolution In Object Databases - Bertino, Guerrini, Rusca (1999)   (7 citations)  (Correct)

....where the method is invoked. The second approach, which we call argument specificity approach, does not determine the preferred class of an object to dispatch a method invocation, rather it makes use of the other actual arguments of the method call, thus considering the method as a multi method [16]. In the following subsections we illustrate and compare these two approaches. Preferred Class Dispatching Approach According to this approach, a method invocation is dispatched by taking into account the context dependent preferred class of the receiver object. As we have seen, in each Chimera ....

....invocation is contained. Finally, note that we use multiple dispatching only for choosing an implementation among the ones in sibling classes, and never for choosing an implementation among the ones in a path in a given inheritance hierarchy. Chimera methods, indeed, are not really multi methods [16] in that they are associated with classes. Thus, the privileged receiver , though it is not the only one involved in dispatching, has higher priority with respect to other arguments, in that only the implementations in classes that are most specific for the receiver are considered as candidates ....

R. Gabriel, J. White, and D. Bobrow. CLOS: Integrating Object-Oriented and Functional Programming. Communications of the ACM, 34(9):28--38, September 1991.


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

....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 goals: Maximize ....

....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 CLOS and its ....

Richard P. Gabriel, Jon L White, and Daniel G. Bobrow. CLOS: Integrating ObjectOriented and Functional Programming. In Communications of the ACM 34(9), pp. 28-38, September, 1991.


An Object Model for Engineering Design - Nguyen, Rieu, Escamilla (1992)   (6 citations)  (Correct)

.... was designed to support the requirements of mechanical and VLSI CAD CAM applications [22, 28] It elaborates on knowledge representation techniques found in AI and data models found in the database area [19] It also imports recent advances in object oriented databases and programming languages [10, 15]. It includes such notions as meta classes, methods, inferences, and dependencies. They are merged in a powerful and flexible data model that is currently tested on full size applications in mechanical engineering design. SHOOD is implemented in Le Lisp TM on Sun SPARCstation 2 TM. A user friendly ....

Gabriel R.P & al. CLOS: integrating object-oriented and functional programming. Comm. ACM. 34(9). 1991.


Type Selection at the User Interface - Teege (1993)   (Correct)

....are not inherited to instances. The data items are used to describe instance features and are accessible from instances in specific ways. One example for a data item is the list of methods applicable to all instances of the type. Note the difference between data items and slots as used in CLOS [1]: A data item may be regarded as a group of slots with common properties and a common inheritance mechanism. Typically, data items are constructed incrementally. An ELIOOS type is defined by giving a set of supertypes and a set of data item construction procedures (DICPs) Before a type can be ....

Richard P. Gabriel, Jon L. White, and Daniel G. Bobrow. Clos: Integrating object-oriented and functional programming. CACM, 34(9):29--38, September 1991.


Dynamic Customization in the µChoices Operating System - Li, Tan, Sefika, Campbell..   (Correct)

....select page to evict write dirty page to backing store page number selected Cache replacement policy Backing store Figure 1: Base and Meta levels in Virtual Memory Systems. Meta object interfaces and protocols are a well established customization technique in object oriented operating systems[32, 8]. In this approach, the semantics of an object s behavior is defined by a set of objects, named meta objects, in its meta space[32] Changing or activating different components in the meta space of an object allows customization of the behavior of the object. Meta interfaces and protocols help ....

R. P. Gabriel, J. L. White, and D. G. Bobrow. CLOS: Integrating object-oriented and functional programming. Comm. of the ACM, 34(9):28, September 1991.


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

....clients: a generic function 4 can be invoked by clients as if it were a simple function. To a large extent, this approach to multi methods integrates the function oriented and object oriented programming styles; merging Lisp and object oriented programming was an explicit goal for CLOS [Gabriel et al. 91] However, the extant generic function based approach to multiple dispatching objectoriented languages tends to encourage a function oriented programming style at the expense of a data abstraction oriented programming style. Since multi methods cannot be viewed as completely contained within any ....

Richard P. Gabriel, Jon L White, and Daniel G. Bobrow. CLOS: Integrating ObjectOriented and Functional Programming. In Communications of the ACM 34(9), pp. 28-38, September, 1991.


The Specification of Dynamic Distributed Component Systems - Kiniry (1998)   (2 citations)  (Correct)

....tool building, etc. ffl Language does matter. While I find the development and use of research and out ofmainstream languages interesting and challenging, I will not pursue the creation or use of such a language. I consider the following interesting research languages: Beta [106, 113] CLOS [14, 60, 101, 102, 131] and [155, Chapter 28] Dylan [9] ML [38, 124, 134] the Pascal Modula family [127, 128, 175, 176, 173] Oberon [141, 177] Obliq [23, 24] Self [2, 167, 168] Simula [12, 45] and Squeak [91] The following are the out of mainstream production languages I believe are worthwhile: Eiffel [121, ....

R.P. Gabriel, J.L. White, and D.G. Bobrow. CLOS: Integrating object-oriented and functional programming. Communications of the ACM, 34:942--960, 1991.


Introducing CLOVER: an Object-Oriented Functional Language - Clack, Braine (1996)   (1 citation)  (Correct)

....Functional Language Chris Clack and Lee Braine Department of Computer Science, University College London C.Clack cs.ucl.ac.uk L.Braine cs.ucl.ac.uk Abstract. The search for a language which combines both functional and object oriented features has a long and distinguished history [15, 16, 10, 8, 9, 34, 6, 17, 33, 39, 19]. The aim is to integrate the formal methods benefits of functional programming with the software engineering benefits of both paradigms. However, to date we know of no language which can claim to be both purely functional and purely object oriented (and retains complete type safety) We present ....

....integrate OOP and FP. 3.1 1980 1989 Early work such as Flavors [15] and CommonLOOPS [10] involved the extension of LISP with object oriented features. This work culminated in CLOS [8] a set of tools for developing object oriented programs in Common LISP [42] Significant claims have been made [9] that CLOS combines both OOP and FP yet, because it is based on LISP (like Flavors and CommonLOOPS) it is not referentially transparent and therefore fails to satisfy our primary criterion. 3.2 1990 1992 In the early 1990s interest in OOP FP integration increased, with several newly developed ....

Bobrow, D., Gabriel, R., White, J.: CLOS: Integrating Object-Oriented and Functional Programming. CACM 34(9), (1991) 28--38


A Simple Context-Based Markup Algorithm and its Efficient.. - Roger Kehr (1997)   (Correct)

....In section 2 we first discuss existing systems that already contributed solutions to this kind of problem. In section 3 we describe the application domain for which we needed a simpler solution to the problem. Finally we present our traversing algorithm and its efficient implementation in Clos [1, 3, 7]. 2 Related Work The problem of context based markup has several interesting general solutions. We briefly present the solutions of two different systems: CoST [2] and Stil [6] Both systems are intended as back ends for SGML parsers. SGML documents must conform to a structure that is described ....

R. P. Gabriel, J. L. White, and D. G. Bobrow. CLOS: Integrating object-oriented and functional programming. Commun. ACM, 34(9):29--38, September 1991.


I+: A Multiparadigm Language for Object-Oriented Declarative.. - Ng, Luk (1995)   (2 citations)  (Correct)

....summary. Logic Functional ObjectOriented Single level Parallelism Multi level Parallelism LogiC [39] Intermission[19] OOPP[41] CPU[27] DLP[11] OLPSC[15] KSL Logic[17] Orient84 K[18] Vulcan[23] Bridge[21] PROOF[40] FLC[4] CLOS[14] HOPE[9] FUNLOG[34] F [28] LEAF[3] Applog[6] LIFE[2] UNIFORM[20] G[31] L O[26] I Table 2 A summary on the paradigms involved and the level of parallelism of some multiparadigm languages In addition to the design, we have ....

R.P. Gabriel, J.L. White, and D.G. Bobrow. CLOS: Integrating Object-Oriented and Functional Programming. Comm. ACM, Vol.34, No.9, Sept.1991, pp. 28-38.


Reflection in logic, functional and object-oriented.. - Demers, Malenfant   (Correct)

....of classes and objects, although necessary to properly organize things, was not enough to enable a full fledged reflective programming paradigm. We need a manifest description of the protocols activating the different objects in order to execute the program. The Metaobject Protocol of CLOS [KRB91, GWB91] tries to achieve exactly that. It does not only describe the objects involved in the representation of the computational process, it also exhibits the protocols responsible for the actual execution of the program. 3.3.3 Behavioral reflection in OOP As we have seen, a behavioral reflection ....

R.P. Gabriel, J.L. White, and D.G. Bobrow. CLOS: Integrating Object-Oriented and Functional Programming. Comm. of the ACM, 34(9):29--38, 1991.


Optimization of Object-Oriented Programs Using Static.. - Dean, Grove, Chambers (1995)   (173 citations)  (Correct)

....simulation frameworks, the cost of message passing can be too great, forcing the programmer to avoid object oriented programming in the hot spots of their application. For example, hybrid languages like C [Stroustrup 91] Modula 3 [Nelson 91, Harbison 92] and CLOS [Bobrow et al. 88, Gabriel et al. 91] provide non object oriented built in array data structures that are more efficient than would be a typical class based extensible implementation using dynamically dispatched fetch and store operations, Sather [Omohundro 94, Szypersky et al. 93] allows the programmer to explicitly select where ....

Richard P. Gabriel, Jon L. White, and Daniel G. Bobrow. CLOS: Integrating Object-Oriented and Functional Programming. Communications of the ACM, 34(9):28--38, September 1991.


The Cecil Language, Specification and Rationale - Version 2.0 - Chambers (1996)   (12 citations)  (Correct)

....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, H lzle 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 goals: Maximize ....

....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 CLOS and its ....

Richard P. Gabriel, Jon L White, and Daniel G. Bobrow. CLOS: Integrating ObjectOriented and Functional Programming. In Communications of the ACM 34(9), pp. 28-38, September, 1991.


Introducing CLOVER: an Object-Oriented Functional Language - Lee Braine (1996)   (1 citation)  (Correct)

....Braine and Chris Clack Department of Computer Science, University College London, Gower Street, London WC1E 6BT, UK L.Braine cs.ucl.ac.uk C.Clack cs.ucl.ac.uk Abstract. The search for a language which combines both functional and object oriented features has a long and distinguished history [Can82, Car84, BK86, BD88, BGW91, MHH91, AP93, CL91, MMH91, Sar93, CL96]. The aim is to integrate the formal methods benefits of functional programming with the software engineering benefits of both paradigms. However, to date we know of no language which can claim to be both purely functional and purely object oriented (and retains complete type safety) We present ....

....OOP and FP. 3.1 1980 1989 Early work such as Flavors [Can82] and CommonLOOPS [BK86] involved the extension of LISP with object oriented features. This work culminated in CLOS [BD88] a set of tools for developing object oriented programs in Common LISP [Ste84] Significant claims have been made [BGW91] that CLOS combines both OOP and FP yet, because it is based on LISP (like Flavors and CommonLOOPS) it is not referentially transparent and therefore fails to satisfy our primary criterion. 3.2 1990 1992 In the early 1990s interest in OOP FP integration increased, with several newly developed ....

Bobrow, D., Gabriel, R., White, J.: CLOS: Integrating Object-Oriented and Functional Programming. CACM 34(9), (1991) 28--38


Engineering a Programming Language: The Type and Class.. - Szypersky, Omohundro.. (1994)   (8 citations)  (Correct)

....one of the superclasses may provide a feature with the same signature, multiple subclassing leads to inheritance conflicts. Two routines or iters are said to conflict if they have the same name, the same number and types of arguments, and both either have or do not have a return value. Reference [9] describes four ways to cope with inheritance conflicts: 1. Disallow conflicts: Signal an error in the case of a conflict. 2. Resolve conflicts by explicit selection: Require the user to make a selection in case of a conflict. This is Sather s approach, as described below. 3. Form disjoint union ....

Richard P. Gabriel, Jon L White, and Daniel G. Bobrow. CLOS: Integrating object-oriented and functional programming. Communications of the ACM, 34(9):29--38, September 1991.


An Object-Oriented Functional Approach to Information Systems.. - Lee Braine (1997)   (Correct)

....OOP and FP. Early work in the 1980s, such as Flavors [Can82] and CommonLOOPS [BKK86] involved the extension of LISP with object oriented features. This work culminated in CLOS [BDG88] a set of tools for developing object oriented programs in Common LISP [Ste84] Significant claims have been made [BGW91] that CLOS combines both OOP and FP yet, because it is based on LISP (like Flavors and CommonLOOPS) it is not referentially transparent and therefore fails to satisfy our primary criterion. In the early 1990s, interest in OOP FP integration increased, with several newlydeveloped languages. ....

D. Bobrow, R. Gabriel, J. White. CLOS: Integrating Object-Oriented and Functional Programming. CACM 34(9) (1991) 28-38


The Cecil Language, Specification and Rationale - Chambers (1993)   (15 citations)  (Correct)

....is different than SELF s. However, Cecil has yet to incorporate dynamic inheritance, one of the most interesting features of SELF. Freeman Benson independently developed a proposal for adding multi methods to SELF [Freeman Benson 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 CLOS and its ....

Richard P. Gabriel, Jon L White, and Daniel G. Bobrow. CLOS: Integrating ObjectOriented and Functional Programming. In Communications of the ACM 34(9), pp. 28-38, September, 1991.


Inlining of Virtual Methods - Detlefs, Agesen   (42 citations)  (Correct)

No context found.

Richard Gabriel, Jon White, and Daniel Bobrow. CLOS: Integrating objectoriented and functional programming. CACM: Communications of the ACM, 34, 1991.


A Dynamically Updatable Active Networking Architecture - Fernando (2001)   (Correct)

No context found.

R. Gabriel, J. White and D. Bobrow, "CLOS: Integrating Object-Oriented and Functional Programming", Communications of the ACM, vol. 34, pp. 28-38, 1991.


An Object-Oriented View Onto Public, Heterogeneous Text - Databases Andreas Paepcke   (Correct)

No context found.

R.P. Gabriel, J.L. White, and D.G. Bobrow. Clos: Integrating object-oriented and functional programming. Communications of the ACM, 34(9), September 1991.


The Sather Language and Libraries - Omohundro, Lim (1992)   (6 citations)  (Correct)

No context found.

Richard P. Gabriel, Jon L. White, and Daniel G. Bobrow. CLOS: Integrating Object-Oriented and Functional Programming. Communications of the ACM, 34(9):28 39, September 1991.

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