[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

List of generic functions



The following is a list of the generic functions (and argument names)
that are in the metaobject protocol or are part of the extended
programming interface.  I don't know how to distinguish these two.  Some
of them have been been described in the first two chapters of the CLOS
document.  

A description of what these generic functions do is coming later today.
But it is much longer.

The notation below uses (setf <generic-fn-name>) to indicate the setf
generic function that corresponds to <generic-fn-name>.  The argument
shown for the  setf function is only the new-value argument.  The names
of the arguments are an attempt to give some clue as to the types of the
arguments.   


**Class Access Generic Functions

class-direct-supers class

(setf class-direct-supers)  list-of-classes

direct-subclasses class

class-precedence-list class

direct-slots class

(setf class-direct-slots)  slot-descriptions

all-slots class

generic-functions class

class-prototype class


**Slot-Description Access Generic Functions

slotd-name slot-description

slotd-initform standard-slot-description

(setf slotd-initform) form

slotd-allocation standard-slot-description

slotd-type standard-slot-description



**Inherited Class Structure

compute-class-precedence-list class &optional possible-supers

compatible-super-p class possible-direct-super


collect-slot-descriptions class &key
         :direct-supers :direct-slotds

compute-effective-slot-description class same-named-slotds


update-class class &key :direct-supers :direct-slots

add-direct-subclass class subclass

remove-direct-subclass class subclass


supers-changed class old-supers old-slots 
               &optional top-flag &rest rest-args

slots-changed class old-slots 
               &optional top-flag &rest rest-args

update-method-inheritance class old-supers


**Obsolete Classes

make-class-obsolete class

has-instances-p class


change-class instance new-class

class-changed previous current


** Parsing defclass form

expand-defclass metaclass-prototype defclass-form


check-defclass-form metaclass-prototype slot-list class-options


add-named-class metaclass-prototype
       name super-list slot-list class-options


class-for-redefinition metaclass-prototype
       old-class-with-name &rest other-information


make-slot-description metaclass-prototype slot-description-list



** Class names


class-named name &optional no-error-flag

(setf class-named) class

class-name class 

(setf class-name) name

class-named-from-metaclass metaclass-prototype
       name &key :no-error-flag :compile-time-hash-table 
(setf class-named-from-metaclass) class


** Slot access

slot-value-using-class class instance-of-that-class slot-name
                       &optional value-if-slot-missing

slot-missing instance slot-name

(setf slot-value-using-class) new-value

slot-missing-for-setf instance slot-name new-value

slot-exists-p instance slot-name &optional allocation


all-slot-names instance &optional allocation


add-dynamic-slot instance slot-name new-value

remove-dynamic-slot instance slot-name

get-dynamic-slot-value instance slot-name &optional default-value


** Compiling Slot Access

optimize-slot-value class-of-object form

optimize-setf-slot-value class-of-object form



** Type Relations

classp instance class


subclassp class1 class2


** Method Acess Functions

method-generic-function method

method-parameter-specializers method

method-function method

(setf method-function) function

method-qualifiers method


** Generic Function Access generic functions

gf-methods generic-function

gf-discriminator-code

gf-argument-list generic-function

(setf gf-argument-list) lambda-list

gf-argument-precedence-order generic-function

(setf gf-argument-precedence-order) list

gf-method-class generic-function

(setf gf-method-class) class

gf-method-combination generic-function

(setf gf-method-combination) method-combination-option

gf-declarations generic-function

(setf gf-declarations) declaration-list


** Changing Generic Functions

ensure-generic-function symbol
  &key :generic-function-class :make-exisiting-function-default-p

add-method generic-function method

remove-method generic-function method

get-method generic-function parameter-specializers

generic-function-changed gf &optional hints

get-setf-generic-function symbol


** Changing code of generic functions


compute-discriminator-code generic-function

compute-effective-method generic-function combination-type
     applicable-methods &optional parameters

find-applicable-methods generic-function
            argument-list &optional sorted-flag
method-equal method1 method2

method-more-specific generic-function
   method1 method2 argument-list


** Making new storage types for metaclasses

define-metaclass name size class-of-code

meta-allocate-instance meta-name &optional size

meta-slot-value meta-name thing position

meta-set-slot-value meta-name thing position new-value

make-memory-block size

  danny