The closer-mop Reference Manual

Table of Contents

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

The closer-mop Reference Manual

This is the closer-mop Reference Manual, version 1.0.0, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 03:43:37 2018 GMT+0.


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

1 Introduction

Closer to MOP

Closer to MOP is a compatibility layer that rectifies many of the absent or incorrect CLOS MOP features across a broad range of Common Lisp implementations.

Closer to MOP is also provided by Quicklisp.

Currently, the following Common Lisp implementations are supported:

The following implementations were supported in the past:

The respective code conditionalizations are still in the source files, so there is a good chance that they still work, especially for current or newer versions. However, there is no guarantee that this is the case, and active work for these implementations is currently on hold.

New in version 1.0.0:

New in version 0.61:

Highlights of version 0.6:

Highlights of version 0.55:

Highlights of version 0.5:

Highlights of version 0.4:

Closer to MOP has an asdf system definition, and is part of Quicklisp, so it should be straightforward to include it in your own projects. The package that exports the relevant symbols is called CLOSER-MOP or short C2MOP.

Note that in some cases, symbols from the underlying MOP implementation or even the underlying COMMON-LISP package are shadowed in Closer to MOP. So if you use the CLOSER-MOP package you may need to shadow-import those symbols. Alternatively, you can use the packages CLOSER-COMMON-LISP and CLOSER-COMMON-LISP-USER that provide the symbols of COMMON-LISP / COMMON-LISP-USER plus the symbols of the CLOS MOP and the necessary shadow-imported symbols.

If symbols from the underlying MOP implementation or the COMMON-LISP package are shadowed in Closer to MOP, if they are names for metaobject classes, they are supposed to be used primarily for subclassing. If in rare cases you want to refer to them directly, please be advised that you may need to make fine-grained distinctions between the original symbols and the shadowed symbols, depending on context. The restrictions in the CLOS MOP specification do not allow for a more convenient solution.

For details on what has or has not been fixed, see the accompanying file features.txt. Please also check the comments that come with the source code.


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 closer-mop

Author

Pascal Costanza

License

MIT-style license

Description

Closer to MOP is a compatibility layer that rectifies many of the absent or incorrect CLOS MOP features across a broad range of Common Lisp implementations.

Version

1.0.0

Source

closer-mop.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 closer-mop.asd

Location

closer-mop.asd

Systems

closer-mop (system)


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

3.1.2 closer-mop/closer-mop-packages.lisp

Parent

closer-mop (system)

Location

closer-mop-packages.lisp

Packages

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

3.1.3 closer-mop/closer-mop-shared.lisp

Dependency

closer-mop-packages.lisp (file)

Parent

closer-mop (system)

Location

closer-mop-shared.lisp

Exported Definitions
Internal Definitions

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

3.1.4 closer-mop/closer-abcl.lisp

If Feature

abcl

Dependency

closer-mop-shared.lisp (file)

Parent

closer-mop (system)

Location

closer-abcl.lisp


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

3.1.5 closer-mop/closer-allegro.lisp

If Feature

allegro

Dependency

closer-abcl.lisp (file)

Parent

closer-mop (system)

Location

closer-allegro.lisp


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

3.1.6 closer-mop/closer-clasp.lisp

If Feature

clasp

Dependency

closer-allegro.lisp (file)

Parent

closer-mop (system)

Location

closer-clasp.lisp


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

3.1.7 closer-mop/closer-clisp.lisp

If Feature

clisp

Dependency

closer-clasp.lisp (file)

Parent

closer-mop (system)

Location

closer-clisp.lisp


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

3.1.8 closer-mop/closer-clozure.lisp

If Feature

clozure

Dependency

closer-clisp.lisp (file)

Parent

closer-mop (system)

Location

closer-clozure.lisp


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

3.1.9 closer-mop/closer-cmu.lisp

If Feature

cmu

Dependency

closer-clozure.lisp (file)

Parent

closer-mop (system)

Location

closer-cmu.lisp


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

3.1.10 closer-mop/closer-ecl.lisp

If Feature

ecl

Dependency

closer-cmu.lisp (file)

Parent

closer-mop (system)

Location

closer-ecl.lisp


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

3.1.11 closer-mop/closer-lispworks.lisp

If Feature

lispworks

Dependency

closer-ecl.lisp (file)

Parent

closer-mop (system)

Location

closer-lispworks.lisp


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

3.1.12 closer-mop/closer-mcl.lisp

If Feature

mcl

Dependency

closer-lispworks.lisp (file)

Parent

closer-mop (system)

Location

closer-mcl.lisp


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

3.1.13 closer-mop/closer-sbcl.lisp

If Feature

sbcl

Dependency

closer-mcl.lisp (file)

Parent

closer-mop (system)

Location

closer-sbcl.lisp


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

3.1.14 closer-mop/closer-scl.lisp

If Feature

scl

Dependency

closer-sbcl.lisp (file)

Parent

closer-mop (system)

Location

closer-scl.lisp


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

4 Packages

Packages are listed by definition order.


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

4.1 closer-common-lisp-user

Source

closer-mop-packages.lisp (file)

Nickname

c2cl-user

Use List

closer-common-lisp


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

4.2 closer-common-lisp

Source

closer-mop-packages.lisp (file)

Nickname

c2cl

Used By List

closer-common-lisp-user


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

4.3 closer-mop

Source

closer-mop-packages.lisp (file)

Nickname

c2mop

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 Symbol macros

Symbol Macro: warn-on-defmethod-without-generic-function
Package

closer-mop

Source

closer-mop-shared.lisp (file)

Expansion

nil


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

5.1.2 Macros

Macro: defgeneric NAME (&rest ARGS) &body OPTIONS
Package

closer-mop

Source

closer-mop-shared.lisp (file)

Macro: defmethod NAME &body BODY
Package

closer-mop

Source

closer-mop-shared.lisp (file)


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

5.1.3 Functions

Function: ensure-finalized CLASS &optional ERRORP
Package

closer-mop

Source

closer-mop-shared.lisp (file)

Function: ensure-method GF LAMBDA-EXPRESSION &key METHOD-CLASS QUALIFIERS LAMBDA-LIST SPECIALIZERS
Package

closer-mop

Source

closer-mop-shared.lisp (file)

Function: fix-slot-initargs INITARGS
Package

closer-mop

Source

closer-mop-shared.lisp (file)

Function: required-args LAMBDA-LIST &optional COLLECTOR
Package

closer-mop

Source

closer-mop-shared.lisp (file)

Function: subclassp CLASS SUPERCLASS
Package

closer-mop

Source

closer-mop-shared.lisp (file)


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

5.1.4 Generic functions

Generic Function: compute-effective-method-function GF EFFECTIVE-METHOD OPTIONS
Package

closer-mop

Source

closer-mop-shared.lisp (file)

Methods
Method: compute-effective-method-function (GF generic-function) EFFECTIVE-METHOD OPTIONS

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

5.1.5 Classes

Class: standard-generic-function ()
Package

closer-mop

Source

closer-mop-shared.lisp (file)

Direct superclasses

standard-generic-function (class)

Direct methods
  • compute-discriminating-function (method)
  • make-method-lambda (method)

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

5.2 Internal definitions


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

5.2.1 Special variables

Special Variable: *standard-gfs*
Package

closer-mop

Source

closer-mop-shared.lisp (file)

Special Variable: *standard-slot-keys*
Package

closer-mop

Source

closer-mop-shared.lisp (file)


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

5.2.2 Compiler macros

Compiler Macro: m-function M
Package

closer-mop

Source

closer-mop-shared.lisp (file)


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

5.2.3 Functions

Function: compute-argument-order GF NOF-REQUIRED-ARGS
Package

closer-mop

Source

closer-mop-shared.lisp (file)

Function: compute-discriminator GF COMPUTE-NATIVE-DISCRIMINATOR
Package

closer-mop

Source

closer-mop-shared.lisp (file)

Function: get-emf GF ARGS NOF-REQUIRED-ARGS
Package

closer-mop

Source

closer-mop-shared.lisp (file)

Function: get-emf-using-classes GF ARGS CLASSES NOF-REQUIRED-ARGS
Package

closer-mop

Source

closer-mop-shared.lisp (file)

Function: m-function M
Package

closer-mop

Source

closer-mop-shared.lisp (file)

Function: methods-all-the-same-specializers GF
Package

closer-mop

Source

closer-mop-shared.lisp (file)

Function: only-standard-methods GF &rest OTHER-GFS
Package

closer-mop

Source

closer-mop-shared.lisp (file)

Function: parse-method-body BODY ERROR-FORM
Package

closer-mop

Source

closer-mop-shared.lisp (file)


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

5.2.4 Generic functions

Generic Function: dwg-name CONDITION
Package

closer-mop

Methods
Method: dwg-name (CONDITION defmethod-without-generic-function)
Source

closer-mop-shared.lisp (file)


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

5.2.5 Conditions

Condition: defmethod-without-generic-function ()
Package

closer-mop

Source

closer-mop-shared.lisp (file)

Direct superclasses

style-warning (condition)

Direct methods

dwg-name (method)

Direct slots
Slot: name
Initargs

:name

Readers

dwg-name (generic function)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   C   F   L  
Index Entry  Section

C
closer-mop.asd: The closer-mop<dot>asd file
closer-mop/closer-abcl.lisp: The closer-mop/closer-abcl<dot>lisp file
closer-mop/closer-allegro.lisp: The closer-mop/closer-allegro<dot>lisp file
closer-mop/closer-clasp.lisp: The closer-mop/closer-clasp<dot>lisp file
closer-mop/closer-clisp.lisp: The closer-mop/closer-clisp<dot>lisp file
closer-mop/closer-clozure.lisp: The closer-mop/closer-clozure<dot>lisp file
closer-mop/closer-cmu.lisp: The closer-mop/closer-cmu<dot>lisp file
closer-mop/closer-ecl.lisp: The closer-mop/closer-ecl<dot>lisp file
closer-mop/closer-lispworks.lisp: The closer-mop/closer-lispworks<dot>lisp file
closer-mop/closer-mcl.lisp: The closer-mop/closer-mcl<dot>lisp file
closer-mop/closer-mop-packages.lisp: The closer-mop/closer-mop-packages<dot>lisp file
closer-mop/closer-mop-shared.lisp: The closer-mop/closer-mop-shared<dot>lisp file
closer-mop/closer-sbcl.lisp: The closer-mop/closer-sbcl<dot>lisp file
closer-mop/closer-scl.lisp: The closer-mop/closer-scl<dot>lisp file

F
File, Lisp, closer-mop.asd: The closer-mop<dot>asd file
File, Lisp, closer-mop/closer-abcl.lisp: The closer-mop/closer-abcl<dot>lisp file
File, Lisp, closer-mop/closer-allegro.lisp: The closer-mop/closer-allegro<dot>lisp file
File, Lisp, closer-mop/closer-clasp.lisp: The closer-mop/closer-clasp<dot>lisp file
File, Lisp, closer-mop/closer-clisp.lisp: The closer-mop/closer-clisp<dot>lisp file
File, Lisp, closer-mop/closer-clozure.lisp: The closer-mop/closer-clozure<dot>lisp file
File, Lisp, closer-mop/closer-cmu.lisp: The closer-mop/closer-cmu<dot>lisp file
File, Lisp, closer-mop/closer-ecl.lisp: The closer-mop/closer-ecl<dot>lisp file
File, Lisp, closer-mop/closer-lispworks.lisp: The closer-mop/closer-lispworks<dot>lisp file
File, Lisp, closer-mop/closer-mcl.lisp: The closer-mop/closer-mcl<dot>lisp file
File, Lisp, closer-mop/closer-mop-packages.lisp: The closer-mop/closer-mop-packages<dot>lisp file
File, Lisp, closer-mop/closer-mop-shared.lisp: The closer-mop/closer-mop-shared<dot>lisp file
File, Lisp, closer-mop/closer-sbcl.lisp: The closer-mop/closer-sbcl<dot>lisp file
File, Lisp, closer-mop/closer-scl.lisp: The closer-mop/closer-scl<dot>lisp file

L
Lisp File, closer-mop.asd: The closer-mop<dot>asd file
Lisp File, closer-mop/closer-abcl.lisp: The closer-mop/closer-abcl<dot>lisp file
Lisp File, closer-mop/closer-allegro.lisp: The closer-mop/closer-allegro<dot>lisp file
Lisp File, closer-mop/closer-clasp.lisp: The closer-mop/closer-clasp<dot>lisp file
Lisp File, closer-mop/closer-clisp.lisp: The closer-mop/closer-clisp<dot>lisp file
Lisp File, closer-mop/closer-clozure.lisp: The closer-mop/closer-clozure<dot>lisp file
Lisp File, closer-mop/closer-cmu.lisp: The closer-mop/closer-cmu<dot>lisp file
Lisp File, closer-mop/closer-ecl.lisp: The closer-mop/closer-ecl<dot>lisp file
Lisp File, closer-mop/closer-lispworks.lisp: The closer-mop/closer-lispworks<dot>lisp file
Lisp File, closer-mop/closer-mcl.lisp: The closer-mop/closer-mcl<dot>lisp file
Lisp File, closer-mop/closer-mop-packages.lisp: The closer-mop/closer-mop-packages<dot>lisp file
Lisp File, closer-mop/closer-mop-shared.lisp: The closer-mop/closer-mop-shared<dot>lisp file
Lisp File, closer-mop/closer-sbcl.lisp: The closer-mop/closer-sbcl<dot>lisp file
Lisp File, closer-mop/closer-scl.lisp: The closer-mop/closer-scl<dot>lisp file

Jump to:   C   F   L  

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

A.2 Functions

Jump to:   C   D   E   F   G   M   O   P   R   S  
Index Entry  Section

C
Compiler Macro, m-function: Internal compiler macros
compute-argument-order: Internal functions
compute-discriminator: Internal functions
compute-effective-method-function: Exported generic functions
compute-effective-method-function: Exported generic functions

D
defgeneric: Exported macros
defmethod: Exported macros
dwg-name: Internal generic functions
dwg-name: Internal generic functions

E
ensure-finalized: Exported functions
ensure-method: Exported functions

F
fix-slot-initargs: Exported functions
Function, compute-argument-order: Internal functions
Function, compute-discriminator: Internal functions
Function, ensure-finalized: Exported functions
Function, ensure-method: Exported functions
Function, fix-slot-initargs: Exported functions
Function, get-emf: Internal functions
Function, get-emf-using-classes: Internal functions
Function, m-function: Internal functions
Function, methods-all-the-same-specializers: Internal functions
Function, only-standard-methods: Internal functions
Function, parse-method-body: Internal functions
Function, required-args: Exported functions
Function, subclassp: Exported functions

G
Generic Function, compute-effective-method-function: Exported generic functions
Generic Function, dwg-name: Internal generic functions
get-emf: Internal functions
get-emf-using-classes: Internal functions

M
m-function: Internal compiler macros
m-function: Internal functions
Macro, defgeneric: Exported macros
Macro, defmethod: Exported macros
Method, compute-effective-method-function: Exported generic functions
Method, dwg-name: Internal generic functions
methods-all-the-same-specializers: Internal functions

O
only-standard-methods: Internal functions

P
parse-method-body: Internal functions

R
required-args: Exported functions

S
subclassp: Exported functions

Jump to:   C   D   E   F   G   M   O   P   R   S  

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

A.3 Variables

Jump to:   *  
N   S   W  
Index Entry  Section

*
*standard-gfs*: Internal special variables
*standard-slot-keys*: Internal special variables

N
name: Internal conditions

S
Slot, name: Internal conditions
Special Variable, *standard-gfs*: Internal special variables
Special Variable, *standard-slot-keys*: Internal special variables
Symbol Macro, warn-on-defmethod-without-generic-function: Exported symbol macros

W
warn-on-defmethod-without-generic-function: Exported symbol macros

Jump to:   *  
N   S   W  

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

A.4 Data types

Jump to:   C   D   P   S  
Index Entry  Section

C
Class, standard-generic-function: Exported classes
closer-common-lisp: The closer-common-lisp package
closer-common-lisp-user: The closer-common-lisp-user package
closer-mop: The closer-mop system
closer-mop: The closer-mop package
Condition, defmethod-without-generic-function: Internal conditions

D
defmethod-without-generic-function: Internal conditions

P
Package, closer-common-lisp: The closer-common-lisp package
Package, closer-common-lisp-user: The closer-common-lisp-user package
Package, closer-mop: The closer-mop package

S
standard-generic-function: Exported classes
System, closer-mop: The closer-mop system

Jump to:   C   D   P   S