The madeira-port Reference Manual

This is the madeira-port Reference Manual, version 1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 17:12:32 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 madeira-port

Provides :MADEIRA-PORT file class for ASDF, and an extended #+ and #- syntax.

Author

Nikodemus Siivola <>

License

MIT

Version

1.0

Source

madeira-port.asd.

Child Component

madeira-port.lisp (file).


3 Files

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


3.1 Lisp


3.1.1 madeira-port/madeira-port.asd

Source

madeira-port.asd.

Parent Component

madeira-port (system).

ASDF Systems

madeira-port.


3.1.2 madeira-port/madeira-port.lisp

Source

madeira-port.asd.

Parent Component

madeira-port (system).

Packages

madeira-port.

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 madeira-port

Source

madeira-port.lisp.

Use List
  • asdf/interface.
  • common-lisp.
Public Interface
Internals

5 Definitions

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


5.1 Public Interface


5.1.1 Macros

Macro: extend-feature-syntax ()

Sets *READTABLE* to a copy of the current readtable with #+ and #- readmacros implemented using the extended feature evaluator provided by FEATURE-EVAL.

Takes effect at both load and compile-time if processed as a top level form.

Package

madeira-port.

Source

madeira-port.lisp.


5.1.2 Ordinary functions

Function: feature-eval (expr)

Returns the result of evaluating the feature expression EXPR using extended feature evaluation rules:

Symbols evaluate to T if they are present in *FEATURES*, and NIL otherwise.

Non-symbol atoms evaluate to themselves. (Standard feature expressions do no accept non-symbol atoms at all.)

Conses evaluate depending on the operator in the CAR:

:AND &rest expressions

If all EXPRESSIONS evaluate to true, evaluates to the value of the last of them. If no EXPRESSIONS are supplied, evaluates to T. Otherwise evaluates to NIL.

:NOT expression

Evaluates to T if EXPRESSION evaluates to NIL using extended feature evaluation rules, NIL otherwise.

:OR &rest expressions

Evaluates to the value of the first of EXPRESSIONS that evalutes to true. NIL otherwise.

QUOTE expression

Evaluates to EXPRESSION.

:EQ expression1 expression2
:EQL expression1 expression2
:EQUAL expression1 expression2
:EQUALP expression1 expression2

Evaluate to T if EXPRESSION1 and EXPRESSION2 evaluate to values that compare to true using the similarly named Common Lisp predicate. Otherwise evaluate to NIL.

:TYPEP value-expression type-expression

Evalutes to true if VALUE-EXPRESSION evaluates to a value that is
an TYPEP of the type-designator TYPE-EXPRESSION evaluates to.

:FIND-PACKAGE package-name

Evaluates to the designated package if it exists, NIL otherwise.

:FIND-SYMBOL symbol-name package-name &optional allow-internal

Evaluates to the designated symbol if named package exits, and the named symbol is an external (or accessible, if ALLOW-INTERNAL is true) symbol in it. Otherwise evaluates to NIL.

:FIND-FUNCTION symbol-name package-name &optional allow-internal

Evaluates to the designated function if the named package exits, the named symbol is an external (or accessible, if ALLOW-INTERNAL is true) symbol in it that is bound to a function and is not a macro or a special operator. Otherwise evaluates to NIL.

:FIND-MACRO symbol-name package-name &optional allow-internal

Evaluates to the designated macro-function if the named package exits, the named symbol is an external (or accessible, if ALLOW-INTERNAL is true) symbol in it that is bound to a global macro. Otherwise evaluates to NIL.

:FIND-VARIABLE symbol-name package-name &optional allow-internal

Evaluates to T if the designated symbol if the named package exits, the named symbol is an external (or accessible, if ALLOW-INTERNAL is true) and BOUNDP symbol. Otherwise evaluates to NIL.

:FIND-VALUE symbol-name package-name &optional allow-internal

Evaluates to the SYMBOL-VALUE of the designated symbol if the named package exits, the named symbol is an external (or accessible, if ALLOW-INTERNAL is true) and BOUNDP symbol. Otherwise evaluates to NIL.

:FIND-CLASS symbol-name package-name &optional allow-internal

Evaluates to class associated with the designated symbol if the named package exits, the named symbol is an external (or accessible, if ALLOW-INTERNAL is true) symbol in it that has an associated class definition. Otherwise evaluates to NIL.

In all of these both SYMBOL-NAME and PACKAGE-NAME can be any string designators.

Package

madeira-port.

Source

madeira-port.lisp.


5.1.3 Standalone methods

Method: perform :around ((op compile-op) (port madeira-port))
Package

asdf/action.

Source

madeira-port.lisp.

Method: perform :around ((op load-source-op) (port madeira-port))
Package

asdf/action.

Source

madeira-port.lisp.

Method: perform :around ((op load-op) (port madeira-port))
Package

asdf/action.

Source

madeira-port.lisp.

Method: print-object ((port madeira-port) stream)
Source

madeira-port.lisp.

Method: shared-initialize :after ((port madeira-port) slots &key when unless)
Source

madeira-port.lisp.


5.1.4 Classes

Class: madeira-port

Acts otherwise like a regular ASDF:CL-SOURCE-FILE (aka :FILE), but loaded and compiled if and only if the associated :WHEN and/or :UNLESS options evaluate to true under FEATURE-EVAL.

Package

madeira-port.

Source

madeira-port.lisp.

Direct superclasses

cl-source-file.

Direct methods
Direct slots
Slot: test

5.2 Internals


5.2.1 Special variables

Special Variable: *feature-evaluators*
Package

madeira-port.

Source

madeira-port.lisp.


5.2.2 Macros

Macro: defeature (name lambda-list &body body)
Package

madeira-port.

Source

madeira-port.lisp.


5.2.3 Ordinary functions

Function: %extend-feature-syntax ()
Package

madeira-port.

Source

madeira-port.lisp.

Function: %feature-read (stream char n)
Package

madeira-port.

Source

madeira-port.lisp.

Function: and-featurep (&rest features)
Package

madeira-port.

Source

madeira-port.lisp.

Function: eq-featurep (feature1 feature2)
Package

madeira-port.

Source

madeira-port.lisp.

Function: eql-featurep (feature1 feature2)
Package

madeira-port.

Source

madeira-port.lisp.

Function: equal-featurep (feature1 feature2)
Package

madeira-port.

Source

madeira-port.lisp.

Function: equalp-featurep (feature1 feature2)
Package

madeira-port.

Source

madeira-port.lisp.

Function: find-class-featurep (symbol-name package-name &optional allow-internal)
Package

madeira-port.

Source

madeira-port.lisp.

Function: find-function-featurep (symbol-name package-name &optional allow-internal)
Package

madeira-port.

Source

madeira-port.lisp.

Function: find-macro-featurep (symbol-name package-name &optional allow-internal)
Package

madeira-port.

Source

madeira-port.lisp.

Function: find-package-featurep (name)
Package

madeira-port.

Source

madeira-port.lisp.

Function: find-symbol-featurep (symbol-name package-name &optional allow-internal)
Package

madeira-port.

Source

madeira-port.lisp.

Function: find-value-featurep (symbol-name package-name &optional allow-internal)
Package

madeira-port.

Source

madeira-port.lisp.

Function: find-variable-featurep (symbol-name package-name &optional allow-internal)
Package

madeira-port.

Source

madeira-port.lisp.

Function: get-symbol (symbol-name package-name &optional allow-internal)
Package

madeira-port.

Source

madeira-port.lisp.

Function: not-featurep (feature)
Package

madeira-port.

Source

madeira-port.lisp.

Function: or-featurep (&rest features)
Package

madeira-port.

Source

madeira-port.lisp.

Function: quote-featurep (expr)
Package

madeira-port.

Source

madeira-port.lisp.

Function: test-expr (port)
Package

madeira-port.

Source

madeira-port.lisp.

Function: typep-featurep (value-expr type-expr)
Package

madeira-port.

Source

madeira-port.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %  
A   D   E   F   G   M   N   O   P   Q   S   T  
Index Entry  Section

%
%extend-feature-syntax: Private ordinary functions
%feature-read: Private ordinary functions

A
and-featurep: Private ordinary functions

D
defeature: Private macros

E
eq-featurep: Private ordinary functions
eql-featurep: Private ordinary functions
equal-featurep: Private ordinary functions
equalp-featurep: Private ordinary functions
extend-feature-syntax: Public macros

F
feature-eval: Public ordinary functions
find-class-featurep: Private ordinary functions
find-function-featurep: Private ordinary functions
find-macro-featurep: Private ordinary functions
find-package-featurep: Private ordinary functions
find-symbol-featurep: Private ordinary functions
find-value-featurep: Private ordinary functions
find-variable-featurep: Private ordinary functions
Function, %extend-feature-syntax: Private ordinary functions
Function, %feature-read: Private ordinary functions
Function, and-featurep: Private ordinary functions
Function, eq-featurep: Private ordinary functions
Function, eql-featurep: Private ordinary functions
Function, equal-featurep: Private ordinary functions
Function, equalp-featurep: Private ordinary functions
Function, feature-eval: Public ordinary functions
Function, find-class-featurep: Private ordinary functions
Function, find-function-featurep: Private ordinary functions
Function, find-macro-featurep: Private ordinary functions
Function, find-package-featurep: Private ordinary functions
Function, find-symbol-featurep: Private ordinary functions
Function, find-value-featurep: Private ordinary functions
Function, find-variable-featurep: Private ordinary functions
Function, get-symbol: Private ordinary functions
Function, not-featurep: Private ordinary functions
Function, or-featurep: Private ordinary functions
Function, quote-featurep: Private ordinary functions
Function, test-expr: Private ordinary functions
Function, typep-featurep: Private ordinary functions

G
get-symbol: Private ordinary functions

M
Macro, defeature: Private macros
Macro, extend-feature-syntax: Public macros
Method, perform: Public standalone methods
Method, perform: Public standalone methods
Method, perform: Public standalone methods
Method, print-object: Public standalone methods
Method, shared-initialize: Public standalone methods

N
not-featurep: Private ordinary functions

O
or-featurep: Private ordinary functions

P
perform: Public standalone methods
perform: Public standalone methods
perform: Public standalone methods
print-object: Public standalone methods

Q
quote-featurep: Private ordinary functions

S
shared-initialize: Public standalone methods

T
test-expr: Private ordinary functions
typep-featurep: Private ordinary functions


A.3 Variables