The enhanced-defclass Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The enhanced-defclass Reference Manual

This is the enhanced-defclass Reference Manual, version 2.1, generated automatically by Declt version 3.0 "Montgomery Scott" on Mon Apr 19 15:59:06 2021 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

Project's home: https://www.hexstreamsoft.com/libraries/enhanced-defclass/


enhanced-defclass provides a truly extensible version of DEFCLASS
that can accurately control the expansion according to the metaclass
and automatically detect the suitable metaclass by analyzing the DEFCLASS form.


This library is in the Public Domain.
See the UNLICENSE file for details.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 enhanced-defclass

Author

Jean-Philippe Paradis <hexstream@hexstreamsoft.com>

License

Unlicense

Description

Provides a truly extensible version of DEFCLASS that can accurately control the expansion according to the metaclass and automatically detect the suitable metaclass by analyzing the DEFCLASS form.

Version

2.1

Dependencies
Source

enhanced-defclass.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 enhanced-defclass.asd

Location

enhanced-defclass.asd

Systems

enhanced-defclass (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 enhanced-defclass/package.lisp

Parent

enhanced-defclass (system)

Location

package.lisp

Packages

enhanced-defclass


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 enhanced-defclass/preferences.lisp

Dependency

package.lisp (file)

Parent

enhanced-defclass (system)

Location

preferences.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 enhanced-defclass/guess-metaclass.lisp

Dependency

preferences.lisp (file)

Parent

enhanced-defclass (system)

Location

guess-metaclass.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 enhanced-defclass/autoclass.lisp

Dependency

guess-metaclass.lisp (file)

Parent

enhanced-defclass (system)

Location

autoclass.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.6 enhanced-defclass/canonicalize.lisp

Dependency

autoclass.lisp (file)

Parent

enhanced-defclass (system)

Location

canonicalize.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.7 enhanced-defclass/main.lisp

Dependency

canonicalize.lisp (file)

Parent

enhanced-defclass (system)

Location

main.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 enhanced-defclass

Source

package.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Macros

Macro: defclass NAME DIRECT-SUPERCLASSES DIRECT-SLOTS &rest OPTIONS
Package

enhanced-defclass

Source

main.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Generic functions

Generic Function: canonicalize-initargs METACLASS-PROTOTYPE &rest INITARGS
Package

enhanced-defclass

Source

canonicalize.lisp (file)

Methods
Method: canonicalize-initargs (METACLASS-PROTOTYPE standard-class) &rest INITARGS
Generic Function: canonicalize-slot-specification METACLASS-PROTOTYPE SPEC
Package

enhanced-defclass

Source

canonicalize.lisp (file)

Methods
Method: canonicalize-slot-specification (METACLASS-PROTOTYPE standard-class) SPEC
Generic Function: check-superclasses-p CLASS
Package

enhanced-defclass

Source

autoclass.lisp (file)

Methods
Method: check-superclasses-p (STANDARD-AUTOCLASS standard-autoclass)

automatically generated reader method

Method: check-superclasses-p (CLASS class)
Generic Function: class-options OBJECT
Package

enhanced-defclass

Methods
Method: class-options (STANDARD-AUTOCLASS standard-autoclass)

automatically generated reader method

Source

autoclass.lisp (file)

Generic Function: compute-class-options CLASS-PROTOTYPE
Package

enhanced-defclass

Source

autoclass.lisp (file)

Method Combination

nconc (short method combination)

Options: :most-specific-first

Methods
Method: compute-class-options (CLASS-PROTOTYPE class) nconc
Generic Function: compute-slot-options CLASS-PROTOTYPE
Package

enhanced-defclass

Source

autoclass.lisp (file)

Method Combination

nconc (short method combination)

Options: :most-specific-first

Methods
Method: compute-slot-options (CLASS-PROTOTYPE class) nconc
Generic Function: default-metaclass-advisor PREFERENCES
Package

enhanced-defclass

Source

preferences.lisp (file)

Methods
Method: default-metaclass-advisor (DEFAULT null)
Source

guess-metaclass.lisp (file)

Method: default-metaclass-advisor (PREFERENCES preferences)

automatically generated reader method

Generic Function: default-metaclass-manager PREFERENCES
Package

enhanced-defclass

Source

preferences.lisp (file)

Methods
Method: default-metaclass-manager (DEFAULT null)
Source

guess-metaclass.lisp (file)

Method: default-metaclass-manager (PREFERENCES preferences)

automatically generated reader method

Generic Function: make-initargs-canonicalizer METACLASS-PROTOTYPE
Package

enhanced-defclass

Source

canonicalize.lisp (file)

Methods
Method: make-initargs-canonicalizer (METACLASS-PROTOTYPE standard-class)
Generic Function: make-slot-initargs-canonicalizer METACLASS-PROTOTYPE
Package

enhanced-defclass

Source

canonicalize.lisp (file)

Methods
Method: make-slot-initargs-canonicalizer (METACLASS-PROTOTYPE standard-class)
Generic Function: passthroughp METACLASS-PROTOTYPE NAME DIRECT-SUPERCLASSES DIRECT-SLOTS ENV
Package

enhanced-defclass

Source

main.lisp (file)

Methods
Method: passthroughp (PROTOTYPE standard-class) NAME DIRECT-SUPERCLASSES DIRECT-SLOTS ENV
Generic Function: slot-options OBJECT
Package

enhanced-defclass

Methods
Method: slot-options (STANDARD-AUTOCLASS standard-autoclass)

automatically generated reader method

Source

autoclass.lisp (file)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Classes

Class: autoclass ()
Package

enhanced-defclass

Source

autoclass.lisp (file)

Direct superclasses

standard-class (class)

Direct subclasses

standard-autoclass (class)

Class: metaclass-manager ()
Package

enhanced-defclass

Source

guess-metaclass.lisp (file)

Direct superclasses

manager (class)

Direct subclasses

standard-metaclass-manager (class)

Direct methods

inquire (method)

Class: preferences ()
Package

enhanced-defclass

Source

preferences.lisp (file)

Direct superclasses

standard-preferences (class)

Direct methods
Direct slots
Slot: %default-metaclass-manager
Initargs

enhanced-defclass:default-metaclass-manager

Readers

default-metaclass-manager (generic function)

Slot: %default-metaclass-advisor
Initargs

enhanced-defclass:default-metaclass-advisor

Readers

default-metaclass-advisor (generic function)

Class: standard-autoclass ()
Package

enhanced-defclass

Source

autoclass.lisp (file)

Direct superclasses

autoclass (class)

Direct methods
Direct slots
Slot: %slot-options
Type

list

Readers

slot-options (generic function)

Slot: %class-options
Type

list

Readers

class-options (generic function)

Slot: %check-superclasses-p
Type

boolean

Readers

check-superclasses-p (generic function)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Special variables

Special Variable: *%autoclass-name-to-prototype*
Package

enhanced-defclass

Source

autoclass.lisp (file)

Special Variable: *metaclass-advisor*
Package

enhanced-defclass

Source

guess-metaclass.lisp (file)

Special Variable: *metaclass-manager*
Package

enhanced-defclass

Source

guess-metaclass.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Macros

Macro: %declare-class-metaclass CLASS-NAME METACLASS-NAME
Package

enhanced-defclass

Source

autoclass.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Functions

Function: %%declare-class-metaclass CLASS-NAME METACLASS-NAME
Package

enhanced-defclass

Source

autoclass.lisp (file)

Function: %advising-package NAME
Package

enhanced-defclass

Source

guess-metaclass.lisp (file)

Function: %determine-metaclass NAME DIRECT-SUPERCLASSES DIRECT-SLOTS OPTIONS &optional ENV DEFAULT-METACLASS
Package

enhanced-defclass

Source

main.lisp (file)

Function: %every-other FUNCTION
Package

enhanced-defclass

Source

canonicalize.lisp (file)

Function: %extract-metaclass OPTIONS &optional ENV
Package

enhanced-defclass

Source

main.lisp (file)

Function: %generate-compile-time-defclass METACLASS NAME DIRECT-SUPERCLASSES DIRECT-SLOTS
Package

enhanced-defclass

Source

main.lisp (file)

Function: %guess-metaclass RAW-INITARGS &optional PREFERENCES
Package

enhanced-defclass

Source

guess-metaclass.lisp (file)

Function: %mappc FUNCTION PLIST
Package

enhanced-defclass

Source

canonicalize.lisp (file)

Function: %mappcon FUNCTION PLIST
Package

enhanced-defclass

Source

canonicalize.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Classes

Class: standard-metaclass-manager ()
Package

enhanced-defclass

Source

guess-metaclass.lisp (file)

Direct superclasses

metaclass-manager (class)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   E   F   L  
Index Entry  Section

E
enhanced-defclass.asd: The enhanced-defclass․asd file
enhanced-defclass/autoclass.lisp: The enhanced-defclass/autoclass․lisp file
enhanced-defclass/canonicalize.lisp: The enhanced-defclass/canonicalize․lisp file
enhanced-defclass/guess-metaclass.lisp: The enhanced-defclass/guess-metaclass․lisp file
enhanced-defclass/main.lisp: The enhanced-defclass/main․lisp file
enhanced-defclass/package.lisp: The enhanced-defclass/package․lisp file
enhanced-defclass/preferences.lisp: The enhanced-defclass/preferences․lisp file

F
File, Lisp, enhanced-defclass.asd: The enhanced-defclass․asd file
File, Lisp, enhanced-defclass/autoclass.lisp: The enhanced-defclass/autoclass․lisp file
File, Lisp, enhanced-defclass/canonicalize.lisp: The enhanced-defclass/canonicalize․lisp file
File, Lisp, enhanced-defclass/guess-metaclass.lisp: The enhanced-defclass/guess-metaclass․lisp file
File, Lisp, enhanced-defclass/main.lisp: The enhanced-defclass/main․lisp file
File, Lisp, enhanced-defclass/package.lisp: The enhanced-defclass/package․lisp file
File, Lisp, enhanced-defclass/preferences.lisp: The enhanced-defclass/preferences․lisp file

L
Lisp File, enhanced-defclass.asd: The enhanced-defclass․asd file
Lisp File, enhanced-defclass/autoclass.lisp: The enhanced-defclass/autoclass․lisp file
Lisp File, enhanced-defclass/canonicalize.lisp: The enhanced-defclass/canonicalize․lisp file
Lisp File, enhanced-defclass/guess-metaclass.lisp: The enhanced-defclass/guess-metaclass․lisp file
Lisp File, enhanced-defclass/main.lisp: The enhanced-defclass/main․lisp file
Lisp File, enhanced-defclass/package.lisp: The enhanced-defclass/package․lisp file
Lisp File, enhanced-defclass/preferences.lisp: The enhanced-defclass/preferences․lisp file

Jump to:   E   F   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %  
C   D   F   G   M   P   S  
Index Entry  Section

%
%%declare-class-metaclass: Internal functions
%advising-package: Internal functions
%declare-class-metaclass: Internal macros
%determine-metaclass: Internal functions
%every-other: Internal functions
%extract-metaclass: Internal functions
%generate-compile-time-defclass: Internal functions
%guess-metaclass: Internal functions
%mappc: Internal functions
%mappcon: Internal functions

C
canonicalize-initargs: Exported generic functions
canonicalize-initargs: Exported generic functions
canonicalize-slot-specification: Exported generic functions
canonicalize-slot-specification: Exported generic functions
check-superclasses-p: Exported generic functions
check-superclasses-p: Exported generic functions
check-superclasses-p: Exported generic functions
class-options: Exported generic functions
class-options: Exported generic functions
compute-class-options: Exported generic functions
compute-class-options: Exported generic functions
compute-slot-options: Exported generic functions
compute-slot-options: Exported generic functions

D
default-metaclass-advisor: Exported generic functions
default-metaclass-advisor: Exported generic functions
default-metaclass-advisor: Exported generic functions
default-metaclass-manager: Exported generic functions
default-metaclass-manager: Exported generic functions
default-metaclass-manager: Exported generic functions
defclass: Exported macros

F
Function, %%declare-class-metaclass: Internal functions
Function, %advising-package: Internal functions
Function, %determine-metaclass: Internal functions
Function, %every-other: Internal functions
Function, %extract-metaclass: Internal functions
Function, %generate-compile-time-defclass: Internal functions
Function, %guess-metaclass: Internal functions
Function, %mappc: Internal functions
Function, %mappcon: Internal functions

G
Generic Function, canonicalize-initargs: Exported generic functions
Generic Function, canonicalize-slot-specification: Exported generic functions
Generic Function, check-superclasses-p: Exported generic functions
Generic Function, class-options: Exported generic functions
Generic Function, compute-class-options: Exported generic functions
Generic Function, compute-slot-options: Exported generic functions
Generic Function, default-metaclass-advisor: Exported generic functions
Generic Function, default-metaclass-manager: Exported generic functions
Generic Function, make-initargs-canonicalizer: Exported generic functions
Generic Function, make-slot-initargs-canonicalizer: Exported generic functions
Generic Function, passthroughp: Exported generic functions
Generic Function, slot-options: Exported generic functions

M
Macro, %declare-class-metaclass: Internal macros
Macro, defclass: Exported macros
make-initargs-canonicalizer: Exported generic functions
make-initargs-canonicalizer: Exported generic functions
make-slot-initargs-canonicalizer: Exported generic functions
make-slot-initargs-canonicalizer: Exported generic functions
Method, canonicalize-initargs: Exported generic functions
Method, canonicalize-slot-specification: Exported generic functions
Method, check-superclasses-p: Exported generic functions
Method, check-superclasses-p: Exported generic functions
Method, class-options: Exported generic functions
Method, compute-class-options: Exported generic functions
Method, compute-slot-options: Exported generic functions
Method, default-metaclass-advisor: Exported generic functions
Method, default-metaclass-advisor: Exported generic functions
Method, default-metaclass-manager: Exported generic functions
Method, default-metaclass-manager: Exported generic functions
Method, make-initargs-canonicalizer: Exported generic functions
Method, make-slot-initargs-canonicalizer: Exported generic functions
Method, passthroughp: Exported generic functions
Method, slot-options: Exported generic functions

P
passthroughp: Exported generic functions
passthroughp: Exported generic functions

S
slot-options: Exported generic functions
slot-options: Exported generic functions

Jump to:   %  
C   D   F   G   M   P   S  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   %   *  
S  
Index Entry  Section

%
%check-superclasses-p: Exported classes
%class-options: Exported classes
%default-metaclass-advisor: Exported classes
%default-metaclass-manager: Exported classes
%slot-options: Exported classes

*
*%autoclass-name-to-prototype*: Internal special variables
*metaclass-advisor*: Internal special variables
*metaclass-manager*: Internal special variables

S
Slot, %check-superclasses-p: Exported classes
Slot, %class-options: Exported classes
Slot, %default-metaclass-advisor: Exported classes
Slot, %default-metaclass-manager: Exported classes
Slot, %slot-options: Exported classes
Special Variable, *%autoclass-name-to-prototype*: Internal special variables
Special Variable, *metaclass-advisor*: Internal special variables
Special Variable, *metaclass-manager*: Internal special variables

Jump to:   %   *  
S  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   A   C   E   M   P   S  
Index Entry  Section

A
autoclass: Exported classes

C
Class, autoclass: Exported classes
Class, metaclass-manager: Exported classes
Class, preferences: Exported classes
Class, standard-autoclass: Exported classes
Class, standard-metaclass-manager: Internal classes

E
enhanced-defclass: The enhanced-defclass system
enhanced-defclass: The enhanced-defclass package

M
metaclass-manager: Exported classes

P
Package, enhanced-defclass: The enhanced-defclass package
preferences: Exported classes

S
standard-autoclass: Exported classes
standard-metaclass-manager: Internal classes
System, enhanced-defclass: The enhanced-defclass system

Jump to:   A   C   E   M   P   S