Common Lisp Package: MADEIRA-PORT

README:

FUNCTION

Public

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.

Private

Undocumented

%EXTEND-FEATURE-SYNTAX

%FEATURE-READ (STREAM CHAR N)

AND-FEATUREP (&REST FEATURES)

EQ-FEATUREP (FEATURE1 FEATURE2)

EQL-FEATUREP (FEATURE1 FEATURE2)

EQUAL-FEATUREP (FEATURE1 FEATURE2)

EQUALP-FEATUREP (FEATURE1 FEATURE2)

FIND-CLASS-FEATUREP (SYMBOL-NAME PACKAGE-NAME &OPTIONAL ALLOW-INTERNAL)

FIND-FUNCTION-FEATUREP (SYMBOL-NAME PACKAGE-NAME &OPTIONAL ALLOW-INTERNAL)

FIND-MACRO-FEATUREP (SYMBOL-NAME PACKAGE-NAME &OPTIONAL ALLOW-INTERNAL)

FIND-PACKAGE-FEATUREP (NAME)

FIND-SYMBOL-FEATUREP (SYMBOL-NAME PACKAGE-NAME &OPTIONAL ALLOW-INTERNAL)

FIND-VALUE-FEATUREP (SYMBOL-NAME PACKAGE-NAME &OPTIONAL ALLOW-INTERNAL)

FIND-VARIABLE-FEATUREP (SYMBOL-NAME PACKAGE-NAME &OPTIONAL ALLOW-INTERNAL)

GET-SYMBOL (SYMBOL-NAME PACKAGE-NAME &OPTIONAL ALLOW-INTERNAL)

NOT-FEATUREP (FEATURE)

OR-FEATUREP (&REST FEATURES)

QUOTE-FEATUREP (EXPR)

TEST-EXPR (PORT)

TYPEP-FEATUREP (VALUE-EXPR TYPE-EXPR)

MACRO

Public

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.

Private

Undocumented

DEFEATURE (NAME LAMBDA-LIST &BODY BODY)

VARIABLE

Private

Undocumented

*FEATURE-EVALUATORS*

CLASS

Public

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.