ExLisp. CLOS
(exlisp v0.1.2)
Copy Markdown
Common Lisp Object System (CLOS) implementation for ExLisp. Supports:
- defclass (inheritance, CPL linearization, slot inheritance, initargs, initforms, accessors, readers, writers)
- defgeneric and defmethod
- Method qualifiers: :before, :after, :around, and primary methods
- Standard Method Combination
- Multi-argument method dispatch and (eql ...) specializers
- call-next-method and next-method-p
- make-instance, slot-value, (setf slot-value), slot-boundp, slot-makunbound, slot-exists-p
- class-of, find-class, class-name, subclassp, subtypep integration
Summary
Functions
Applies a generic function using the Standard Method Combination.
Invokes the next method in the current method combination chain.
Computes the Class Precedence List (CPL) for a class using CLOS standard linearization.
Creates a new CLOS instance.
Returns :t if a next method is available, nil otherwise.
Registers a CLOS class.
Registers a generic function definition.
Registers a method on a generic function. qualifier can be nil (primary), :before, :after, :around. specializers is a list of type names or {:eql, value}. fun is (args -> result).
Functions
Applies a generic function using the Standard Method Combination.
Invokes the next method in the current method combination chain.
Computes the Class Precedence List (CPL) for a class using CLOS standard linearization.
Creates a new CLOS instance.
Returns :t if a next method is available, nil otherwise.
Registers a CLOS class.
Registers a generic function definition.
Registers a method on a generic function. qualifier can be nil (primary), :before, :after, :around. specializers is a list of type names or {:eql, value}. fun is (args -> result).