Common Lisp Package: COM.CLEARLY-USEFUL.PROTOCOLS

README:

FUNCTION

Public

Undocumented

CLASS-IMPLEMENTS-PROTOCOL-P (CLASS PROTOCOL)

PROTOCOL-EXTENDS-CLASS-P (PROTOCOL CLASS)

Private

PROTOCOL-BODY-METHODS (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

PROTOCOL-BODY-PROPERTIES (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

PROTOCOL-IMPLEMENTATION (PROTOCOL THING METHODS)

protocol, implementation type name, method list

Undocumented

%BOOL (O)

%BUILD-PROTOCOL-OBJECT (PROTOCOL METHODS)

%COMPILE-TIME-IMPLEMENTS? (TYPENAME PROTOCOLNAME)

%DEFPROTOCOL (NAME BODY)

%ENSURE-PROTOCOL-COMPILATION-NOTE (NAME)

%EXTEND-TYPE (CLASS METHODS)

%FIND-PROTOCOL-COMPILATION-NOTE (NAME)

SETF%FIND-PROTOCOL-COMPILATION-NOTE (VALUE NAME)

%IMPLEMENT-PROTOCOL-FOR-OBJECT (OBJ METHODS)

%IMPLEMENTS? (TYPENAME PROTOCOLNAME)

COPY-PROTOCOL-BODY (INSTANCE)

ENSURE-PROTOCOL (NAME)

FIND-PROTOCOL (NAME)

SETFFIND-PROTOCOL (VALUE NAME)

GENERATE-COMPILE-TIME-REQUIRES (REQUIRES CLASS NAME)

GENERATE-IMPLEMENTS? (SPECIALIZER NAME)

GENERATE-REQUIRES (REQUIRES CLASS NAME)

MAKE-PROTOCOL-BODY (&KEY ((PROPERTIES DUM6) NIL) ((METHODS DUM7) NIL))

METHOD-IMPLEMENTATIONS (NAME PROTOCOL SPECIALIZER METHODS)

PARSE-PROTOCOL-BODY (METHODS)

PARTITION-METHODS (LIST)

SETFPROTOCOL-BODY-METHODS (NEW-VALUE INSTANCE)

PROTOCOL-BODY-P (OBJECT)

SETFPROTOCOL-BODY-PROPERTIES (NEW-VALUE INSTANCE)

PROTOCOL-DEFINITION (PROTOCOL UNPARSED-BODY)

PROTOCOL-DEFINITION-DEFGENERIC-FORMS (PROTOCOL-NAME METHODS PROPERTIES)

PROTOCOL-DEFINITION-EPONYMOUS-GENERIC (NAME PROPERTIES)

PROTOCOL-DEFTYPE (NAME DOCUMENTATION)

PROTOCOL-IMPLEMENTATION-BASE-METHOD (PROTOCOL TYPE)

PROTOCOL-IMPLEMENTATION-COMPILE-TIME (PROTOCOL TYPE METHODS)

PROTOCOL-IMPLEMENTATION-REGISTER (PROTOCOL SPECIALIZER)

PROTOCOL-TEST-FUNCTION (NAME)

PROTOCOL-TEST-NAME (NAME)

TRANSFORM-ARGLIST (ARGLIST SPECIALIZER)

TRANSFORM-METHOD (SPEC SPECIALIZER)

TRANSFORM-METHOD-TO-DEFGENERIC (PROTOCOL-NAME METHOD)

VALID-PROTOCOL-LAMBDA-LIST-P (PARAMS)

VALID-PROTOCOL-METHOD-NAME-P (THING)

VALIDATE-DEFPROTOCOL-OPTION (LIST)

VALIDATE-PROTOCOL-DEFINITION-METHODS (NAME METHODS)

VALIDATE-PROTOCOL-IMPLEMENTATION-METHODS (PROTOCOL TYPE METHODS)

MACRO

Public

Undocumented

DEFPROTOCOL (NAME &BODY METHODS)

EXTEND-OBJECT (OBJECT &BODY METHODS)

EXTEND-TYPE (CLASS &BODY METHODS)

REIFY (&BODY METHODS)

Private

ALL (&BODY BODY)

(all x1 y1 x2 y2 ...) -> (and (or x1 y1) (or x2 y2) ...)

GENERIC-FUNCTION

Private

Undocumented

IMPLEMENTS-PROTOCOL? (OBJECT PROTOCOL)

SLOT-ACCESSOR

Private

Undocumented

METHODS (OBJECT)

SETFMETHODS (NEW-VALUE OBJECT)

NAME (OBJECT)

SETFNAME (NEW-VALUE OBJECT)

PROPERTIES (OBJECT)

SETFPROPERTIES (NEW-VALUE OBJECT)

PROTOCOL-DOCUMENTATION (OBJECT)

SETFPROTOCOL-DOCUMENTATION (NEW-VALUE OBJECT)

PROTOCOL-INCLUDES-GENERIC-PUN (OBJECT)

SETFPROTOCOL-INCLUDES-GENERIC-PUN (NEW-VALUE OBJECT)

PROTOCOL-INCLUDES-METHOD-PUN (OBJECT)

SETFPROTOCOL-INCLUDES-METHOD-PUN (NEW-VALUE OBJECT)

VARIABLE

Private

Undocumented

%PROTOCOL-COMPILATION-NOTES%

%PROTOCOLS%

CLASS

Private

Undocumented

%PROTOCOL-COMPILATION-NOTE

%REIFIED%

PROTOCOL

PROTOCOL-BODY