Author:
Bobrow Daniel G.,DeMichiel Linda G.,Gabriel Richard P.,Keene Sonya E.,Kiczales Gregor,Moon David A.
Abstract
Introduction
The Common Lisp Object System is an object-oriented extension to Common Lisp as defined in
Common Lisp: The Language,
by Guy L. Steele Jr. It is based on generic functions, multiple inheritance, declarative method combination, and a meta-object protocol.
The first two chapters of this specification present a description of the standard Programmer Interface for the Common Lisp Object System. The first chapter contains a description of the concepts of the Common Lisp Object System, and the second contains a description of the functions and macros in the Common Lisp Object System Programmer Interface. The chapter "The Common Lisp Object System Meta-Object Protocol" describes how the Common Lisp Object System can be customized.
The fundamental objects of the Common Lisp Object System are classes, instances, generic functions, and methods.
A
class
object determines the structure and behavior of a set of other objects, which are called its
instances.
Every Common Lisp object is an
instance
of a class. The class of an object determines the set of operations that can be performed on the object.
A
generic function
is a function whose behavior depends on the classes or identities of the arguments supplied to it. A generic function object contains a set of methods, a lambda-list, a method combination type, and other information. The
methods
define the class-specific behavior and operations of the generic function; a method is said to
specialize
a generic function. When invoked, a generic function executes a subset of its methods based on the classes of its arguments.
A generic function can be used in the same ways that an ordinary function can be used in Common Lisp; in particular, a generic function can be used as an argument to
funcall
and
apply
and can be given a global or a local name.
A
method
is an object that contains a method function, a sequence of
parameter speclalizers
that specify when the given method is applicable, and a sequence of
qualifiers
that is used by the
method combination
facility to distinguish among methods. Each required formal parameter of each method has an associated parameter specializer, and the method will be invoked only on arguments that satisfy its parameter specializers.
The method combination facility controls the selection of methods, the order in which they are run, and the values that are returned by the generic function. The Common Lisp Object System offers a default method combination type and provides a facility for declaring new types of method combination.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
126 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献