The introspect-environment Reference Manual

Table of Contents

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

The introspect-environment Reference Manual

This is the introspect-environment Reference Manual, version 0.1, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 04:05:14 2018 GMT+0.


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

1 Introduction

This library is intended to allow a bit more compile-time introspection of environments in CL.

Quite a bit of information is available at the time a macro or compiler-macro runs; inlining info, type declarations, that sort of thing. This information is all standard - any CL program can (declare (integer x)) and such.

This info ought to be accessible through the standard &environment parameters, but it is not. Several implementations keep the information for their own purposes but do not make it available to user programs, because there is no standard mechanism to do so.

This library uses implementation-specific hooks to make information available to users. This is currently supported on SBCL, CCL, and CMUCL. Other implementations have implementations of the functions that do as much as they can and/or provide reasonable defaults.


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 introspect-environment

Author

Bike <aeshtaer@gmail.com>

License

WTFPL

Description

Small interface to portable but nonstandard introspection of CL environments.

Version

0.1

Dependency

sb-cltl2

Source

introspect-environment.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 introspect-environment.asd

Location

introspect-environment.asd

Systems

introspect-environment (system)


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

3.1.2 introspect-environment/package.lisp

Parent

introspect-environment (system)

Location

package.lisp

Packages

introspect-environment


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

3.1.3 introspect-environment/expander.lisp

Dependency

package.lisp (file)

Parent

introspect-environment (system)

Location

expander.lisp

Exported Definitions
Internal Definitions

valid-function-name-p (function)


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

3.1.4 introspect-environment/sbcl.lisp

Dependency

expander.lisp (file)

Parent

introspect-environment (system)

Location

sbcl.lisp

Exported Definitions

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

3.1.5 introspect-environment/doc.lisp

Dependency

sbcl.lisp (file)

Parent

introspect-environment (system)

Location

doc.lisp

Internal Definitions

defdoc (macro)


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

4 Packages

Packages are listed by definition order.


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

4.1 introspect-environment

Source

package.lisp (file)

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 Macros

Macro: policy EXPR &optional ENV

Evaluate EXPR in an environment in which all optimization qualities (e.g. COMPILATION-SPEED) refer to their known values in ENV if possible.

For instance, (locally (optimize (speed 3) (space 0)) (policy (> speed space) env)) will evaluate to true (if supported).

Package

introspect-environment

Source

sbcl.lisp (file)


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

5.1.2 Functions

Function: compiler-macroexpand FORM &optional ENV

As MACROEXPAND, but uses compiler macros rather than macros. (as a consequence of this, forms like (FUNCALL (FUNCTION FOO) ...) may be expanded with FOO’s compiler macro.)

Package

introspect-environment

Source

expander.lisp (file)

Function: compiler-macroexpand-1 FORM &optional ENV

As MACROEXPAND-1, but uses compiler macros rather than macros. (as a consequence of this, forms like (FUNCALL (FUNCTION FOO) ...) may be expanded with FOO’s compiler macro.)

Package

introspect-environment

Source

expander.lisp (file)

Function: function-type NAME &optional ENV

Return a known supertype of the function named NAME in ENV.

Package

introspect-environment

Source

sbcl.lisp (file)

Function: parse-compiler-macro NAME LAMBDA-LIST BODY &optional ENV

Like PARSE-MACRO, but the lambda expression is suited for use as a compiler macro. Meaning it’s the same, except that if it’s provided a form beginning with FUNCALL to expand it will still destructure its arguments appropriately.

Package

introspect-environment

Source

sbcl.lisp (file)

Function: policy-quality QUALITY &optional ENV

Return the value of QUALITY, an optimization quality (e.g. COMPILATION-SPEED) in ENV, if possible.

Package

introspect-environment

Source

sbcl.lisp (file)

Function: specialp NAME &optional ENV
Package

introspect-environment

Source

sbcl.lisp (file)

Function: variable-type NAME &optional ENV

Return a known supertype of NAME, a variable, in ENV.

Package

introspect-environment

Source

sbcl.lisp (file)


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

5.2 Internal definitions


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

5.2.1 Macros

Macro: defdoc SLOT-NAME DOC-TYPE DOC
Package

introspect-environment

Source

doc.lisp (file)


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

5.2.2 Functions

Function: valid-function-name-p THING
Package

introspect-environment

Source

expander.lisp (file)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   F   I   L  
Index Entry  Section

F
File, Lisp, introspect-environment.asd: The introspect-environment<dot>asd file
File, Lisp, introspect-environment/doc.lisp: The introspect-environment/doc<dot>lisp file
File, Lisp, introspect-environment/expander.lisp: The introspect-environment/expander<dot>lisp file
File, Lisp, introspect-environment/package.lisp: The introspect-environment/package<dot>lisp file
File, Lisp, introspect-environment/sbcl.lisp: The introspect-environment/sbcl<dot>lisp file

I
introspect-environment.asd: The introspect-environment<dot>asd file
introspect-environment/doc.lisp: The introspect-environment/doc<dot>lisp file
introspect-environment/expander.lisp: The introspect-environment/expander<dot>lisp file
introspect-environment/package.lisp: The introspect-environment/package<dot>lisp file
introspect-environment/sbcl.lisp: The introspect-environment/sbcl<dot>lisp file

L
Lisp File, introspect-environment.asd: The introspect-environment<dot>asd file
Lisp File, introspect-environment/doc.lisp: The introspect-environment/doc<dot>lisp file
Lisp File, introspect-environment/expander.lisp: The introspect-environment/expander<dot>lisp file
Lisp File, introspect-environment/package.lisp: The introspect-environment/package<dot>lisp file
Lisp File, introspect-environment/sbcl.lisp: The introspect-environment/sbcl<dot>lisp file

Jump to:   F   I   L  

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

A.2 Functions

Jump to:   C   D   F   M   P   S   V  
Index Entry  Section

C
compiler-macroexpand: Exported functions
compiler-macroexpand-1: Exported functions

D
defdoc: Internal macros

F
Function, compiler-macroexpand: Exported functions
Function, compiler-macroexpand-1: Exported functions
Function, function-type: Exported functions
Function, parse-compiler-macro: Exported functions
Function, policy-quality: Exported functions
Function, specialp: Exported functions
Function, valid-function-name-p: Internal functions
Function, variable-type: Exported functions
function-type: Exported functions

M
Macro, defdoc: Internal macros
Macro, policy: Exported macros

P
parse-compiler-macro: Exported functions
policy: Exported macros
policy-quality: Exported functions

S
specialp: Exported functions

V
valid-function-name-p: Internal functions
variable-type: Exported functions

Jump to:   C   D   F   M   P   S   V  

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

A.3 Variables


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

A.4 Data types

Jump to:   I   P   S  
Index Entry  Section

I
introspect-environment: The introspect-environment system
introspect-environment: The introspect-environment package

P
Package, introspect-environment: The introspect-environment package

S
System, introspect-environment: The introspect-environment system

Jump to:   I   P   S