The defpackage-plus Reference Manual

This is the defpackage-plus Reference Manual, version 1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:16:16 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 defpackage-plus

Extensible DEFPACKAGE with version support

Author

Ryan Pavlik

License

BSD-2-Clause

Version

1.0

Dependency

alexandria (system).

Source

defpackage-plus.asd.

Child Components

3 Files

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


3.1 Lisp


3.1.1 defpackage-plus/defpackage-plus.asd

Source

defpackage-plus.asd.

Parent Component

defpackage-plus (system).

ASDF Systems

defpackage-plus.

Packages

defpackage-plus.asdf.


3.1.2 defpackage-plus/package.lisp

Source

defpackage-plus.asd.

Parent Component

defpackage-plus (system).

Packages

3.1.3 defpackage-plus/utility.lisp

Dependency

package.lisp (file).

Source

defpackage-plus.asd.

Parent Component

defpackage-plus (system).

Public Interface

3.1.4 defpackage-plus/ensure.lisp

Dependency

utility.lisp (file).

Source

defpackage-plus.asd.

Parent Component

defpackage-plus (system).

Public Interface

3.1.5 defpackage-plus/inherit.lisp

Dependency

ensure.lisp (file).

Source

defpackage-plus.asd.

Parent Component

defpackage-plus (system).

Public Interface
Internals

3.1.6 defpackage-plus/local-nicknames.lisp

Dependency

inherit.lisp (file).

Source

defpackage-plus.asd.

Parent Component

defpackage-plus (system).

Public Interface

defpackage+-dispatch (method).

Internals

3.1.7 defpackage-plus/defpackage-plus.lisp

Dependency

local-nicknames.lisp (file).

Source

defpackage-plus.asd.

Parent Component

defpackage-plus (system).

Public Interface

3.1.8 defpackage-plus/package-plus.lisp

Dependency

defpackage-plus.lisp (file).

Source

defpackage-plus.asd.

Parent Component

defpackage-plus (system).


4 Packages

Packages are listed by definition order.


4.1 defpackage-plus-1

Source

package.lisp.

Nickname

defpackage+-1

Use List
  • alexandria.
  • common-lisp.
Used By List

defpackage+-user-1.

Public Interface
Internals

4.2 defpackage-plus.asdf

Source

defpackage-plus.asd.

Use List
  • asdf/interface.
  • common-lisp.

4.3 defpackage+-user-1

Source

package.lisp.

Use List

5 Definitions

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


5.1 Public Interface


5.1.1 Macros

Macro: defpackage+ (package-name &body options)
Package

defpackage-plus-1.

Source

defpackage-plus.lisp.


5.1.2 Ordinary functions

Function: ensure-export (export-list &optional package)
Package

defpackage-plus-1.

Source

ensure.lisp.

Function: ensure-export-only (export-list &optional package)
Package

defpackage-plus-1.

Source

ensure.lisp.

Function: ensure-export-warning (export-list &optional package)
Package

defpackage-plus-1.

Source

ensure.lisp.

Function: ensure-nicknames (nickname-list &optional package)
Package

defpackage-plus-1.

Source

ensure.lisp.

Function: ensure-package (package-name)
Package

defpackage-plus-1.

Source

ensure.lisp.

Function: ensure-use-only (use-list &optional package)
Package

defpackage-plus-1.

Source

ensure.lisp.

Function: import-external-from (from-package symbol-name-list &optional package)

Import symbols in ‘SYMBOL-NAME-LIST‘ from ‘FROM-PACKAGE‘ into ‘PACKAGE‘, but only if they are external to ‘FROM-PACKAGE‘. It is an error if any symbol named in ‘SYMBOL-NAME-LIST‘ is not accessible in ‘FROM-PACKAGE‘, or if the symbol is not external to ‘FROM-PACKAGE‘.

Package

defpackage-plus-1.

Source

inherit.lisp.

Function: import-from (from-package symbol-name-list &optional package)

Import symbols in ‘SYMBOL-NAME-LIST‘ from ‘FROM-PACKAGE‘ into ‘PACKAGE‘. It is an error if any symbol named in ‘SYMBOL-NAME-LIST‘ is not accessible in ‘FROM-PACKAGE‘.

Package

defpackage-plus-1.

Source

inherit.lisp.

Function: inherit-from (from-package symbol-list &optional package)

Import/export some external symbols from ‘FROM-PACKAGE‘. This is like ‘IMPORT-FROM‘, except symbols in ‘SYMBOL-LIST‘ are *also exported* from ‘PACKAGE‘. It is an error if any symbols in ‘SYMBOL-LIST‘ are not external to ‘FROM-PACKAGE‘.

Package

defpackage-plus-1.

Source

inherit.lisp.

Function: inherit-package (from-package &optional package)

Import/export *all* external symbols from ‘FROM-PACKAGE‘. This is like ‘USE-PACKAGE‘ and ‘INHERIT-FROM‘ with all symbols external to ‘FROM-PACKAGE‘ specified.

Note that this only applies to symbols exported *when called*. Future symbols exported from ‘FROM-PACKAGE‘ will not also be exported from ‘PACKAGE‘ unless this function is called again.

Package

defpackage-plus-1.

Source

inherit.lisp.

Function: inherit-package-except (from-package except-symbols &optional package)

Import/export all symbols from ‘FROM-PACKAGE‘ *except* those specified by ‘EXCEPT-SYMBOLS‘.

Package

defpackage-plus-1.

Source

inherit.lisp.

Function: package-external-symbols (package)

=> LIST-OF-SYMBOLS

Return a new list of symbols external to ‘PACKAGE‘

Package

defpackage-plus-1.

Source

utility.lisp.

Function: package-symbols (package)

=> LIST-OF-SYMBOLS

Return a new list of symbols accessible from ‘PACKAGE‘. Like ‘DO-SYMBOLS‘, this may include the same symbol more than once.

Package

defpackage-plus-1.

Source

utility.lisp.

Function: shadowing-import-from (from-package symbol-name-list &optional package)

Shadowing-import symbols in ‘SYMBOL-NAME-LIST‘ from ‘FROM-PACKAGE‘ into ‘PACKAGE‘. It is an error if any symbol named in ‘SYMBOL-NAME-LIST‘ is not accessible in ‘FROM-PACKAGE‘.

Package

defpackage-plus-1.

Source

inherit.lisp.


5.1.3 Generic functions

Generic Function: defpackage+-dispatch (option parameters package-name)

This function is called for every form in the body
of ‘DEFPACKAGE+‘. The ‘CAR‘ of each form is the ‘OPTION‘ parameter, which methods should specialize on. The ‘CDR‘ of the list is ‘PARAMETERS‘.

All keywords and symbols from ‘COMMON-LISP‘ are reserved for use by defpackage-plus; user methods should **not** specialize on these.

Package

defpackage-plus-1.

Source

defpackage-plus.lisp.

Methods
Method: defpackage+-dispatch ((option (eql :intern)) params package)
Method: defpackage+-dispatch ((option (eql :nicknames)) params package)
Method: defpackage+-dispatch ((option (eql :shadowing-import-from)) params package)
Method: defpackage+-dispatch ((option (eql :shadow)) params package)
Method: defpackage+-dispatch ((option (eql :import-except-conflicts)) params package)
Method: defpackage+-dispatch ((option (eql :import-except)) params package)
Method: defpackage+-dispatch ((option (eql :import-external)) params package)
Method: defpackage+-dispatch ((option (eql :import-from)) params package)
Method: defpackage+-dispatch ((option (eql :inherit-except)) params package)
Method: defpackage+-dispatch ((option (eql :inherit)) params package)
Method: defpackage+-dispatch ((option (eql :inherit-from)) params package)
Method: defpackage+-dispatch ((option (eql :documentation)) params package)
Method: defpackage+-dispatch ((option (eql :export-warning)) params package)
Method: defpackage+-dispatch ((option (eql :export-only)) params package)
Method: defpackage+-dispatch ((option (eql :export)) params package)
Method: defpackage+-dispatch ((option (eql :use-only)) params package)
Method: defpackage+-dispatch ((option (eql :use)) params package)
Method: defpackage+-dispatch ((option (eql :local-nicknames)) params package)
Source

local-nicknames.lisp.


5.2 Internals


5.2.1 Special variables

Special Variable: *from-package*
Package

defpackage-plus-1.

Source

inherit.lisp.


5.2.2 Ordinary functions

Function: add-local-nickname (package nickname local-to)
Package

defpackage-plus-1.

Source

local-nicknames.lisp.

Function: assert-symbol-p (symbol status function-name)
Package

defpackage-plus-1.

Source

inherit.lisp.

Function: ensure-global-nickname (package nickname)
Package

defpackage-plus-1.

Source

local-nicknames.lisp.

Function: external-symbol-p (symbol status function-name)
Package

defpackage-plus-1.

Source

inherit.lisp.

Function: import-except-conflics (from-package &optional package)

Import all symbols from ‘FROM-PACKAGE‘ *except* symbols that would conflict with those in ‘PACKAGE‘.

Package

defpackage-plus-1.

Source

inherit.lisp.

Function: import-package-except (from-package except-symbols &optional package)

Import all symbols from ‘FROM-PACKAGE‘ *except* those specified by ‘EXCEPT-SYMBOLS‘.

Package

defpackage-plus-1.

Source

inherit.lisp.

Function: map-symbol-names (function symbol-name-list from-package)
Package

defpackage-plus-1.

Source

inherit.lisp.

Function: symbol-check (check-function function-name)
Package

defpackage-plus-1.

Source

inherit.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   A   D   E   F   G   I   M   P   S  
Index Entry  Section

A
add-local-nickname: Private ordinary functions
assert-symbol-p: Private ordinary functions

D
defpackage+: Public macros
defpackage+-dispatch: Public generic functions
defpackage+-dispatch: Public generic functions
defpackage+-dispatch: Public generic functions
defpackage+-dispatch: Public generic functions
defpackage+-dispatch: Public generic functions
defpackage+-dispatch: Public generic functions
defpackage+-dispatch: Public generic functions
defpackage+-dispatch: Public generic functions
defpackage+-dispatch: Public generic functions
defpackage+-dispatch: Public generic functions
defpackage+-dispatch: Public generic functions
defpackage+-dispatch: Public generic functions
defpackage+-dispatch: Public generic functions
defpackage+-dispatch: Public generic functions
defpackage+-dispatch: Public generic functions
defpackage+-dispatch: Public generic functions
defpackage+-dispatch: Public generic functions
defpackage+-dispatch: Public generic functions
defpackage+-dispatch: Public generic functions

E
ensure-export: Public ordinary functions
ensure-export-only: Public ordinary functions
ensure-export-warning: Public ordinary functions
ensure-global-nickname: Private ordinary functions
ensure-nicknames: Public ordinary functions
ensure-package: Public ordinary functions
ensure-use-only: Public ordinary functions
external-symbol-p: Private ordinary functions

F
Function, add-local-nickname: Private ordinary functions
Function, assert-symbol-p: Private ordinary functions
Function, ensure-export: Public ordinary functions
Function, ensure-export-only: Public ordinary functions
Function, ensure-export-warning: Public ordinary functions
Function, ensure-global-nickname: Private ordinary functions
Function, ensure-nicknames: Public ordinary functions
Function, ensure-package: Public ordinary functions
Function, ensure-use-only: Public ordinary functions
Function, external-symbol-p: Private ordinary functions
Function, import-except-conflics: Private ordinary functions
Function, import-external-from: Public ordinary functions
Function, import-from: Public ordinary functions
Function, import-package-except: Private ordinary functions
Function, inherit-from: Public ordinary functions
Function, inherit-package: Public ordinary functions
Function, inherit-package-except: Public ordinary functions
Function, map-symbol-names: Private ordinary functions
Function, package-external-symbols: Public ordinary functions
Function, package-symbols: Public ordinary functions
Function, shadowing-import-from: Public ordinary functions
Function, symbol-check: Private ordinary functions

G
Generic Function, defpackage+-dispatch: Public generic functions

I
import-except-conflics: Private ordinary functions
import-external-from: Public ordinary functions
import-from: Public ordinary functions
import-package-except: Private ordinary functions
inherit-from: Public ordinary functions
inherit-package: Public ordinary functions
inherit-package-except: Public ordinary functions

M
Macro, defpackage+: Public macros
map-symbol-names: Private ordinary functions
Method, defpackage+-dispatch: Public generic functions
Method, defpackage+-dispatch: Public generic functions
Method, defpackage+-dispatch: Public generic functions
Method, defpackage+-dispatch: Public generic functions
Method, defpackage+-dispatch: Public generic functions
Method, defpackage+-dispatch: Public generic functions
Method, defpackage+-dispatch: Public generic functions
Method, defpackage+-dispatch: Public generic functions
Method, defpackage+-dispatch: Public generic functions
Method, defpackage+-dispatch: Public generic functions
Method, defpackage+-dispatch: Public generic functions
Method, defpackage+-dispatch: Public generic functions
Method, defpackage+-dispatch: Public generic functions
Method, defpackage+-dispatch: Public generic functions
Method, defpackage+-dispatch: Public generic functions
Method, defpackage+-dispatch: Public generic functions
Method, defpackage+-dispatch: Public generic functions
Method, defpackage+-dispatch: Public generic functions

P
package-external-symbols: Public ordinary functions
package-symbols: Public ordinary functions

S
shadowing-import-from: Public ordinary functions
symbol-check: Private ordinary functions


A.3 Variables

Jump to:   *  
S  
Index Entry  Section

*
*from-package*: Private special variables

S
Special Variable, *from-package*: Private special variables


A.4 Data types

Jump to:   D   E   F   I   L   P   S   U  
Index Entry  Section

D
defpackage+-user-1: The defpackage+-user-1 package
defpackage-plus: The defpackage-plus system
defpackage-plus-1: The defpackage-plus-1 package
defpackage-plus.asd: The defpackage-plus/defpackage-plus․asd file
defpackage-plus.asdf: The defpackage-plus․asdf package
defpackage-plus.lisp: The defpackage-plus/defpackage-plus․lisp file

E
ensure.lisp: The defpackage-plus/ensure․lisp file

F
File, defpackage-plus.asd: The defpackage-plus/defpackage-plus․asd file
File, defpackage-plus.lisp: The defpackage-plus/defpackage-plus․lisp file
File, ensure.lisp: The defpackage-plus/ensure․lisp file
File, inherit.lisp: The defpackage-plus/inherit․lisp file
File, local-nicknames.lisp: The defpackage-plus/local-nicknames․lisp file
File, package-plus.lisp: The defpackage-plus/package-plus․lisp file
File, package.lisp: The defpackage-plus/package․lisp file
File, utility.lisp: The defpackage-plus/utility․lisp file

I
inherit.lisp: The defpackage-plus/inherit․lisp file

L
local-nicknames.lisp: The defpackage-plus/local-nicknames․lisp file

P
Package, defpackage+-user-1: The defpackage+-user-1 package
Package, defpackage-plus-1: The defpackage-plus-1 package
Package, defpackage-plus.asdf: The defpackage-plus․asdf package
package-plus.lisp: The defpackage-plus/package-plus․lisp file
package.lisp: The defpackage-plus/package․lisp file

S
System, defpackage-plus: The defpackage-plus system

U
utility.lisp: The defpackage-plus/utility․lisp file