The madeira-port Reference Manual

Table of Contents

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

The madeira-port Reference Manual

This is the madeira-port Reference Manual, version 1.0, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 04:16:36 2018 GMT+0.


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

1 Introduction

MADEIRA-PORT

Indended to be used mainly as :DEFSYSTEM-DEPENDS-ON dependency in ASDF
systems, but can also be useful outside ASDF systems.

The provided component class :MADEIRA-PORT makes it easy to specify
implementation (or feature) dependent files as part of an ASDF system
definition:

  (:MADEIRA-PORT  :WHEN )

    Specifies that the file is to be compiled and loaded only when the
    feature expression evaluates to true under FEATURE-EVAL for the
    current implementation.

  (:MADEIRA-PORT  :UNLESS )

    Specifies that the file is to be compiled and loaded only when the
    feature expression evaluates to false under FEATURE-EVAL for the
    current implementation.

  Example:

    (defsystem :foo
      :serial t
      :defsystem-depends-on (:madeira-port)
      :components
      ((:file "package")
       (:module "ports"
        :components
        ((:madeira-port "sbcl" :when :sbcl)
         (:madeira-port "ccl" :when :ccl)
         (:madeira-port "ansi" :unless (:or :sbcl :ccl))))
       (:file "foo")))

Also provides FEATURE-EVAL mentioned above, which supports extended
feature syntax, allowing expression such as

  (:FIND-FUNCTION #:EXIT :SB-EXT)

Finally, exposes FEATURE-EVAL via EXTEND-FEATURE-SYNTAX, which copies
the current readtable, adds extended versions of #+ and #- read macros
to it, and assigns it to *READTABLE*.


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 madeira-port

Author

Nikodemus Siivola <nikodemus@random-state.net>

License

MIT

Description

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

Version

1.0

Source

madeira-port.asd (file)

Component

madeira-port.lisp (file)


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 madeira-port.asd

Location

madeira-port.asd

Systems

madeira-port (system)


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

3.1.2 madeira-port/madeira-port.lisp

Parent

madeira-port (system)

Location

madeira-port.lisp

Packages

madeira-port

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 madeira-port

Source

madeira-port.lisp (file)

Use List
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: 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 (file)


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

5.1.2 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 (file)


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

5.1.3 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 (file)

Direct superclasses

cl-source-file (class)

Direct methods
  • perform (method)
  • perform (method)
  • perform (method)
  • shared-initialize (method)
  • print-object (method)
Direct slots
Slot: test

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

5.2 Internal definitions


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

5.2.1 Special variables

Special Variable: *feature-evaluators*
Package

madeira-port

Source

madeira-port.lisp (file)


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

5.2.2 Macros

Macro: defeature NAME LAMBDA-LIST &body BODY
Package

madeira-port

Source

madeira-port.lisp (file)


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

5.2.3 Functions

Function: %extend-feature-syntax ()
Package

madeira-port

Source

madeira-port.lisp (file)

Function: %feature-read STREAM CHAR N
Package

madeira-port

Source

madeira-port.lisp (file)

Function: and-featurep &rest FEATURES
Package

madeira-port

Source

madeira-port.lisp (file)

Function: eq-featurep FEATURE1 FEATURE2
Package

madeira-port

Source

madeira-port.lisp (file)

Function: eql-featurep FEATURE1 FEATURE2
Package

madeira-port

Source

madeira-port.lisp (file)

Function: equal-featurep FEATURE1 FEATURE2
Package

madeira-port

Source

madeira-port.lisp (file)

Function: equalp-featurep FEATURE1 FEATURE2
Package

madeira-port

Source

madeira-port.lisp (file)

Function: find-class-featurep SYMBOL-NAME PACKAGE-NAME &optional ALLOW-INTERNAL
Package

madeira-port

Source

madeira-port.lisp (file)

Function: find-function-featurep SYMBOL-NAME PACKAGE-NAME &optional ALLOW-INTERNAL
Package

madeira-port

Source

madeira-port.lisp (file)

Function: find-macro-featurep SYMBOL-NAME PACKAGE-NAME &optional ALLOW-INTERNAL
Package

madeira-port

Source

madeira-port.lisp (file)

Function: find-package-featurep NAME
Package

madeira-port

Source

madeira-port.lisp (file)

Function: find-symbol-featurep SYMBOL-NAME PACKAGE-NAME &optional ALLOW-INTERNAL
Package

madeira-port

Source

madeira-port.lisp (file)

Function: find-value-featurep SYMBOL-NAME PACKAGE-NAME &optional ALLOW-INTERNAL
Package

madeira-port

Source

madeira-port.lisp (file)

Function: find-variable-featurep SYMBOL-NAME PACKAGE-NAME &optional ALLOW-INTERNAL
Package

madeira-port

Source

madeira-port.lisp (file)

Function: get-symbol SYMBOL-NAME PACKAGE-NAME &optional ALLOW-INTERNAL
Package

madeira-port

Source

madeira-port.lisp (file)

Function: not-featurep FEATURE
Package

madeira-port

Source

madeira-port.lisp (file)

Function: or-featurep &rest FEATURES
Package

madeira-port

Source

madeira-port.lisp (file)

Function: quote-featurep EXPR
Package

madeira-port

Source

madeira-port.lisp (file)

Function: test-expr PORT
Package

madeira-port

Source

madeira-port.lisp (file)

Function: typep-featurep VALUE-EXPR TYPE-EXPR
Package

madeira-port

Source

madeira-port.lisp (file)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   F   L   M  
Index Entry  Section

F
File, Lisp, madeira-port.asd: The madeira-port<dot>asd file
File, Lisp, madeira-port/madeira-port.lisp: The madeira-port/madeira-port<dot>lisp file

L
Lisp File, madeira-port.asd: The madeira-port<dot>asd file
Lisp File, madeira-port/madeira-port.lisp: The madeira-port/madeira-port<dot>lisp file

M
madeira-port.asd: The madeira-port<dot>asd file
madeira-port/madeira-port.lisp: The madeira-port/madeira-port<dot>lisp file

Jump to:   F   L   M  

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

A.2 Functions

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

%
%extend-feature-syntax: Internal functions
%feature-read: Internal functions

A
and-featurep: Internal functions

D
defeature: Internal macros

E
eq-featurep: Internal functions
eql-featurep: Internal functions
equal-featurep: Internal functions
equalp-featurep: Internal functions
extend-feature-syntax: Exported macros

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

G
get-symbol: Internal functions

M
Macro, defeature: Internal macros
Macro, extend-feature-syntax: Exported macros

N
not-featurep: Internal functions

O
or-featurep: Internal functions

Q
quote-featurep: Internal functions

T
test-expr: Internal functions
typep-featurep: Internal functions

Jump to:   %  
A   D   E   F   G   M   N   O   Q   T  

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

A.3 Variables

Jump to:   *  
S   T  
Index Entry  Section

*
*feature-evaluators*: Internal special variables

S
Slot, test: Exported classes
Special Variable, *feature-evaluators*: Internal special variables

T
test: Exported classes

Jump to:   *  
S   T  

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

A.4 Data types

Jump to:   C   M   P   S  
Index Entry  Section

C
Class, madeira-port: Exported classes

M
madeira-port: The madeira-port system
madeira-port: The madeira-port package
madeira-port: Exported classes

P
Package, madeira-port: The madeira-port package

S
System, madeira-port: The madeira-port system

Jump to:   C   M   P   S