Previous | Table of Contents | Next |
next-method-p (Function)
Returns t if there is a next method; otherwise, returns nil. It must be used in the body of a method and is used to make sure that call-next-method can be used. The method combination type is used to find the next method. For the standard method combination, in an around method, the next method is the next most specific around method (if it exists) or it is the current effective method; in a primary method, the next method is the next most specific primary method.
slot-boundp instance slot-name (Function)
Returns t if the slot in the instance is bound (i.e., has been initialized to a value). Otherwise, it returns nil.
slot-value instance slot-name (Function)
Returns the value of the slot specified by slot-name in the instance. slot-name must be a symbol naming the slot.
slot-value-using-class class instance slot (Generic Function)
This MOP function returns the value of the slot specified by slot in the instance. slot must be the effective slot definition metaobject. This generic function is used to customize slot-value.
update-instance-for-different-class old new plist &rest initargs (Generic function)
This function is called by the system when an instance is updated after its class has changed. The return value is ignored. Conventional usage is to implement the method as an after method because the primary method calls shared-initialize to initialize the new-slots. Used to access information in the original instance to update the new version of the instance:
old A copy of the original instance. new The new version of the instance. initargs The initarg names and their values. Valid initarg names are the same as for defclass and the names of key-words specified in methods for update-instance-for-different- class or shared-initialize.
update-instance-for-redefined-class instance new-slots old-slots plist &rest initargs (Generic function)
This function is called by the system when an instance is updated after a class redefinition. The return value is ignored. Conventional usage is to implement the method as an after method because the primary method calls shared-initialize to initialize the new-slots. Used to access information in the original slots to update the new version of the instance:
instance The updated instance. new-slots The list of slots added to this instance. old-slots The list of slots removed from this instance. plist A list of alternating slot names and values. All removed slots with values appear on this list. No unbound slots appear. initargs The initarg names and their values. Valid initarg names are the same as for defclass and the names of keywords specified in methods for update-instance-for- redefined-class or shared-initialize.
with-accessors ({accessor}*) instance-form &body body (Macro)
Returns the last form of the body. This macro creates a lexical context for using accessors like variables. Each accessor must be a list (variable-name accessors). Within the body, using setf or setq on a variable defined in the accessor list calls the writer function associated with name of the associated accessor.
with-slots ({slot-entry}*) instance-form &body body (Macro)
Returns the last form of the body. This macro creates a lexical context for using slot names like variables. Each slot-entry must either be a list (variable-name slot-name) or a slot name, specified by a symbol. Within the body, using setf or setq on a variable defined in the slot-entry list calls the writer function associated with name of the associated slot-entry.
ANSI. 1994. American National Standard for Information Technology Programming LanguageCommon Lisp. ANSI X3.226-1994. New York.
Bobrow, D. G., K. Kahn, G. Kizcales, L. Masinter, M. Stefik, and F. Zybdel. 1986. CommonLoops: Merging Lisp and Object-Oriented Programming. ACM Sigplan Notices 21(11).
Drescher, G. 1987. ObjectLISP user manual. Cambridge, MA: LISP Machines Inc.
Graham, P. 1994. On Lisp: Advanced techniques for common Lisp. Englewood Cliffs, NJ: Prentice Hall.
Keene, S. 1989. Object-oriented programming in common Lisp. Reading, MA: Addison-Wesley.
Kempf, J., W. Harris, R. DSouza, and A. Snyder. 1987. Experience with CommonLoops. ACM SIGPLAN Notices 22(12).
Kizcales, G., J. des Rivieres, and D. Bobrow. 1992. The art of the Metaobject Protocol. Cambridge, MA: MIT Press.
McCarthy, J. 1981. History of Lisp. In R. L. Wexeblat(Ed.), History of programming languages (pp. 173197). New York: Academic Press.
Norvig, P. 1992. Paradigms of artificial programming: Case studies in Common Lisp. CA: Morgan Kaufman.
Phillips, R. 1997. Dynamic Objects for Engineering Automation. Communications of the ACM pp.5965.
Smith, B. C., and C. Hewitt. 1975. A PLASMA primer. Working Paper 92, MIT Artificial Intelligence Laboratory, Cambridge, MA.
Symbolics, Inc. 1985. Reference guide to Symbolics Lisp. Cambridge, MA: Author.
Previous | Table of Contents | Next |