The org.tfeb.hax Reference Manual

This is the org.tfeb.hax Reference Manual, version 8.7.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 08 19:44:57 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 org.tfeb.hax

TFEB hax

Author

Tim Bradshaw

Home Page

https://github.com/tfeb/tfeb-lisp-hax

License

MIT

Version

8.7.0

Dependency

closer-mop (system).

Source

org.tfeb.hax.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 org.tfeb.hax/org.tfeb.hax.asd

Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

ASDF Systems

org.tfeb.hax.


3.1.2 org.tfeb.hax/collecting.lisp

Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.collecting.

Public Interface

3.1.3 org.tfeb.hax/wrapping-standard.lisp

Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.wrapping-standard.

Public Interface

wrapping-standard (method combination).


3.1.4 org.tfeb.hax/iterate.lisp

Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.iterate.

Public Interface
Internals

3.1.5 org.tfeb.hax/dynamic-state.lisp

Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.dynamic-state.

Public Interface

define-dynamic-state (macro).


3.1.6 org.tfeb.hax/memoize.lisp

Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.memoize.

Public Interface
Internals

3.1.7 org.tfeb.hax/abstract-classes.lisp

Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.abstract-classes.

Public Interface

3.1.8 org.tfeb.hax/singleton-classes.lisp

Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.singleton-classes.

Public Interface
Internals

*singleton-classes* (special variable).


3.1.9 org.tfeb.hax/cs-forms.lisp

Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.cs-forms.

Public Interface

make-cs-form-readtable (function).


3.1.10 org.tfeb.hax/read-package.lisp

Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.read-package.

Public Interface

make-read-package-readtable (function).

Internals

*read-package-package* (special variable).


3.1.11 org.tfeb.hax/comment-form.lisp

Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.comment-form.

Public Interface

make-comment-form-readtable (function).


3.1.12 org.tfeb.hax/define-functions.lisp

Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.define-functions.

Public Interface

3.1.13 org.tfeb.hax/trace-macroexpand.lisp

Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.trace-macroexpand.

Public Interface
Internals

3.1.14 org.tfeb.hax/binding.lisp

Dependencies
Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.binding.

Public Interface
Internals

3.1.15 org.tfeb.hax/stringtable.lisp

Dependencies
Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.stringtable.

Public Interface
Internals

3.1.16 org.tfeb.hax/object-accessors.lisp

Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.object-accessors.

Public Interface

with-object-accessors (macro).


3.1.17 org.tfeb.hax/utilities.lisp

Dependencies
Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.utilities.

Public Interface

3.1.18 org.tfeb.hax/simple-loops.lisp

Dependencies
Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.simple-loops.

Public Interface
Internals

3.1.19 org.tfeb.hax/spam.lisp

Dependency

simple-loops.lisp (file).

Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.spam.

Public Interface

3.1.20 org.tfeb.hax/metatronic.lisp

Dependency

utilities.lisp (file).

Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.metatronic.

Public Interface
Internals

3.1.21 org.tfeb.hax/slog.lisp

Dependencies
Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).

Packages

org.tfeb.hax.slog.

Public Interface
Internals

3.1.22 org.tfeb.hax/hax-cometh.lisp

Dependencies
Source

org.tfeb.hax.asd.

Parent Component

org.tfeb.hax (system).


4 Packages

Packages are listed by definition order.


4.1 org.tfeb.hax.slog

Source

slog.lisp.

Use List
Public Interface
Internals

4.2 org.tfeb.hax.read-package

Source

read-package.lisp.

Use List

common-lisp.

Public Interface

make-read-package-readtable (function).

Internals

*read-package-package* (special variable).


4.3 org.tfeb.hax.define-functions

Source

define-functions.lisp.

Use List

common-lisp.

Public Interface

4.4 org.tfeb.hax.iterate

Source

iterate.lisp.

Use List

common-lisp.

Used By List
Public Interface
Internals

4.5 org.tfeb.hax.trace-macroexpand

Source

trace-macroexpand.lisp.

Use List

common-lisp.

Public Interface
Internals

4.6 org.tfeb.hax.simple-loops

Source

simple-loops.lisp.

Use List
Used By List
Public Interface
Internals

4.8 org.tfeb.hax.comment-form

Source

comment-form.lisp.

Use List

common-lisp.

Public Interface

make-comment-form-readtable (function).


4.9 org.tfeb.hax.metatronic

Source

metatronic.lisp.

Use List
Used By List

org.tfeb.hax.slog.

Public Interface
Internals

4.10 org.tfeb.hax.binding

Source

binding.lisp.

Use List
Public Interface
Internals

4.11 org.tfeb.hax.abstract-classes

Source

abstract-classes.lisp.

Nickname

org.tfeb.hax.final-classes

Use List

closer-common-lisp.

Public Interface

4.12 org.tfeb.hax.spam

Source

spam.lisp.

Use List
Used By List

org.tfeb.hax.slog.

Public Interface

4.13 org.tfeb.hax.wrapping-standard

Source

wrapping-standard.lisp.

Use List

common-lisp.

Public Interface

wrapping-standard (method combination).


4.14 org.tfeb.hax.object-accessors

Source

object-accessors.lisp.

Use List

common-lisp.

Public Interface

with-object-accessors (macro).


4.15 org.tfeb.hax.collecting

Source

collecting.lisp.

Use List

common-lisp.

Used By List
Public Interface

4.16 org.tfeb.hax.utilities

Source

utilities.lisp.

Use List

common-lisp.

Used By List
Public Interface

4.17 org.tfeb.hax.singleton-classes

Source

singleton-classes.lisp.

Use List

closer-common-lisp.

Public Interface
Internals

*singleton-classes* (special variable).


4.18 org.tfeb.hax.cs-forms

Source

cs-forms.lisp.

Use List

common-lisp.

Public Interface

make-cs-form-readtable (function).


4.19 org.tfeb.hax.dynamic-state

Source

dynamic-state.lisp.

Use List

common-lisp.

Public Interface

define-dynamic-state (macro).


4.20 org.tfeb.hax.memoize

Source

memoize.lisp.

Use List

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 Special variables

Special Variable: *default-log-entry-type*

The default log entry type for SLOG

This is SIMPLE-LOG-ENTRY by default.

Package

org.tfeb.hax.slog.

Source

slog.lisp.

Special Variable: *fallback-log-destination-handler*
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Special Variable: *log-entry-formatter*
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Special Variable: *stringtable*

The default current stringtable

Package

org.tfeb.hax.stringtable.

Source

stringtable.lisp.

Special Variable: *stringtable-fallback-absorb-special*

Should fallback functions absorb their special?

The default fallback listens to this variable. User fallbacks probably should as well.

Package

org.tfeb.hax.stringtable.

Source

stringtable.lisp.

Special Variable: *trace-macroexpand-maybe-trace*

Should we even consider tracing?

If this is false then don’t trace, at all. Overrides everything else.

Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Special Variable: *trace-macroexpand-output*

The stream TRACE-MACROEXPAND prints on

By default this is a synonym stream to *TRACE-OUTPUT*.

Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Special Variable: *trace-macroexpand-print-circle*

The value of *PRINT-CIRCLE* used when tracing macroexpansions

Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Special Variable: *trace-macroexpand-print-length*

The value of *PRINT-LENGTH* used when tracing macroexpansions

Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Special Variable: *trace-macroexpand-print-level*

The value of *PRINT-LEVEL* used when tracing macroexpansions

Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Special Variable: *trace-macroexpand-printer*

Printer for traced macro expansions

If this is not NIL it should be a designator for a function of four arguments: the stream to print on, the macro form, the expanded form and the environment.

If this is not NIL then the function is called without any locally-bound values for printer-control variables, so *TRACE-MACROEXPAND-PRINT-LENGTH* *TRACE-MACROEXPAND-PRINT-LEVEL* & *TRACE-MACROEXPAND-PRINT-CIRCLE* are not used.

The return value is ignored.

Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Special Variable: *trace-macroexpand-trace-hook*

If not NIL a function which determines whether a macro is traced.

If this variable is not NIL it should be bound to a function designator which determines if a given macro is traced. This function completely replaces the built-in mechanism which uses *TRACE-MACROEXPAND-TRACED-PACKAGES* and *TRACE-MACROEXPAD-TRACED-NAMES*. The function is called with the macro function, the form being expanded and the environment (the same arguments as the function bound to *MACROEXPAND-HOOK*, which see). The macro is traced if it returns true.

This mechanism can be overridden by *TRACE-MACROEXPAND-MAYBE-TRACE*

Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Special Variable: *trace-macroexpand-traced-names*

A list of macro names to trace.

If a macro’s name is on this list, then it’s traced.

Macros are traced as specified by this list and *TRACE-MACROEXPAND-TRACED-PACKAGES*: macros are traced if they are on this list or if their package matches *TRACE-MACROEXPAND-TRACED-PACKAGES*. This means that to trace only specific macros you want *TRACE-MACROEXPAND-TRACED-PACKAGES* to be empty, while to trace all macros visible in a package you want to use *TRACE-MACROEXPAND-TRACED-PACKAGES*.

This mechanism can be overridden by *TRACE-MACROEXPAND-TRACE-HOOK* & *TRACE-MACROEXPAND-MAYBE-TRACE*

Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Special Variable: *trace-macroexpand-traced-packages*

A list of package designators in which macros should be traced.

Macros whose names are accessible in packages specified by this list are traced. Each element is either: a package, a package name, NIL or T. NIL means ’this package’, T means ’all packages’.

This list will canonicalised to contain either strings, T or NIL by TRACE-MACRO-PACKAGE and UNTRACE-MACRO-PACKAGE.

Macros are traced as specified by this list and *TRACE-MACROEXPAD-TRACED-NAMES*: tracing happens if the macros’ package matches this list, or its name is in *TRACE-MACROEXPAD-TRACED-NAMES*. This means that to trace only specific macros you want this list to be empty.

This mechanism can be overridden by *TRACE-MACROEXPAND-TRACE-HOOK* & *TRACE-MACROEXPAND-MAYBE-TRACE*

Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.


5.1.2 Macros

Macro: bind (name &body forms)
Package

org.tfeb.hax.binding.

Source

binding.lisp.

Macro: bind/destructuring (dsll form)
Package

org.tfeb.hax.binding.

Source

binding.lisp.

Macro: bind/macro (name &body forms)
Package

org.tfeb.hax.binding.

Source

binding.lisp.

Macro: bind/values (vars &body forms)
Package

org.tfeb.hax.binding.

Source

binding.lisp.

Macro: binding (&body forms)
Package

org.tfeb.hax.binding.

Source

binding.lisp.

Macro: closing-opened-log-files ((&key abort reporter) &body forms)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Macro: collecting (&body forms)

Collect things into a list forwards.

Within the body of this macro The form ‘(COLLECT THING)’ will collect THING into the list returned by COLLECTING. COLLECT is a local function so can be passed as an argument, or returned. COLLECT returns its argument. See WITH-COLLECTORS for which this COLLECTING is now a shim

Package

org.tfeb.hax.collecting.

Source

collecting.lisp.

Macro: collecting-values ((&rest collectors) &body form/s)

Collect multiple values withing COLLECTING

COLLECTORS should be the names of bound collectors. If there is a single other argument this is assumed to be a form which will return multiple values. There should either be a single form in the body which is assumed to return multiple values, or exacly as many forms as there are collectors with one value being collected from each.

Return the values collected.

Package

org.tfeb.hax.collecting.

Source

collecting.lisp.

Macro: def-memoized-function (fnspec args &body bod)

Define a memoized function.

FNSPEC is either the name of the function (names like (SETF x) are OK), or a list suitable as an arglist for MEMOIZE-FUNCTION. ARGS & BOD are passed off to DEFUN.

This will declare FNSPEC NOTINLINE, which may be necessary to prevent good compilers optimizing away self calls & stuff like that.

Package

org.tfeb.hax.memoize.

Source

memoize.lisp.

Macro: define-abstract-class (class supers slots &rest options)
Package

org.tfeb.hax.abstract-classes.

Source

abstract-classes.lisp.

Macro: define-compiler-macro/m (name (&rest args) &body doc/decls/forms)

Define a metatronic compiler macro

This is exactly like DEFINE-COMPILER-MACRO but metatronic symbols are gensymized, when they occur directly in list structure.

Note that metatronic symbols are *not* gensymized in arrays, structures or what have you as it’s just too hard. Use LOAD-TIME-VALUE to construct a literal at load time if you really need this.

Package

org.tfeb.hax.metatronic.

Source

metatronic.lisp.

Macro: define-dynamic-state ((binder accessor) &body all-specials)
Package

org.tfeb.hax.dynamic-state.

Source

dynamic-state.lisp.

Macro: define-final-class (class supers slots &rest options)
Package

org.tfeb.hax.abstract-classes.

Source

abstract-classes.lisp.

Macro: define-function (name/options fn)

Define a single function.

NAME/OPTIONS is interpreted as DEFINE-FUNCTIONS, which see.

Package

org.tfeb.hax.define-functions.

Source

define-functions.lisp.

Macro: define-functions (names/options &body fns/form)

Hairy function-defining form.

NAMES/OPTIONS is a list of specifications for functions. Each element may be either:
- a function name such as FOO or (SETF FOO);
- a lambda list (function-name &key ftype documentation);

In the second case:
- ftype specifies the function type, which is by default FUNCTION; - documentation is function documentation (none by default).

If the body of the definition is a single form, this is assumed to return as many values as there are functions to define. Otherwise there should be as many forms in the body as there are functions to define, and the value of each form is used for the corresponding function.

Package

org.tfeb.hax.define-functions.

Source

define-functions.lisp.

Macro: define-macro-function (name/options fn)

Define a single macro function.

NAME/OPTIONS is interpreted as DEFINE-MACRO-FUNCTIONS, which see.

Package

org.tfeb.hax.define-functions.

Source

define-functions.lisp.

Macro: define-macro-functions (names/options &body fns/form)

Hairy macro-function defining form.

NAMES/OPTIONS is a list of specifications for macro functions. Each element may be either: - a macro name such as FOO or (SETF FOO); - a lambda list (macro-name &key documentation);

In the second case documentation is macro documentation (none by default).

If the body of the definition is a single form, this is assumed to return as many values as there are macros to define. Otherwise there should be as many forms in the body as there are functions to define, and the value of each form is used for the corresponding function.

Note that macro functions all take exactly two arguments.

Package

org.tfeb.hax.define-functions.

Source

define-functions.lisp.

Macro: defmacro/m (name (&rest args) &body doc/decls/forms)

Define a metatronic macro

This is exactly like DEFMACRO but metatronic symbols are gensymized, when they occur directly in list structure.

Note that metatronic symbols are *not* gensymized in arrays, structures or what have you as it’s just too hard. Use LOAD-TIME-VALUE to construct a literal at load time if you really need this.

Package

org.tfeb.hax.metatronic.

Source

metatronic.lisp.

Macro: do-failing ((&rest clauses) &body forms)

Like PASSING but test is inverted and at the end

Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Macro: do-failing* ((&rest clauses) &body forms)

Like PASSING but test is inverted and at the end, and binding is sequential

Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Macro: do-passing ((&rest clauses) &body forms)

Like PASSING, but the test is at the end

Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Macro: do-passing* ((&rest clauses) &body forms)

LIKE PASSING but bindings are in series and the test is at the end

Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Macro: doing ((&rest clauses) (test &rest values) &body forms)

A variant of DO

This is like DO, but each variable binding may be one of

- <var> which binds the variable to NIL and steps it to its current value;
- (<var> <init/step>) which binds to value of <init/step> and steps to value of init/step;
- (<var> <init> <step>) which binds to <init> and steps to value of <step>.

If no value forms are specified then the current values of the bindings are returned as multiple values. If more than one value form is specified then the combined multiple values of all of them are returned.

This expands into DO, so all the things that are true of DO are true here: the body is a TAGBODY, and there is a block named NIL wrapped around the form so (RETURN ...) will work.

Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Macro: doing* ((&rest clauses) (test &rest values) &body forms)

A variant of DO*: see DOING

Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Macro: dolists (bindings &body decls/forms)

Like DOLIST but with multiple lists

Each BINDING is either (var init) or (var init value). As many values are returned as bindings with value forms, so this may return between no values and as manu values as bindings. The inits are evaluated in parallel (nothing else really makes much sense). The loop ends when the first list terminates. At least one the of variables will therefore be NIL when the loop terminates (same as for DOLIST, whee the only variable is NIL when the loop terminates).

Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Macro: escaping ((escape &rest defaults) &body forms)

Bind a local escape function

Within the body of this form, ESCAPE will immediately return from it. Given arguments it returns those as multiple values. With no arguments it returns the values of DEFAULTS, or no values if none are given. The forms in DEFAULTS are not evaluated until and if the escape function is called with no arguments, and are evaluated in the lexical contxt of the ESCAPING form, and the dynamic context of the point the escape function is called.

It won’t work to call the escape function once control has left ESCAPING.

Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Macro: failing ((&rest clauses) &body forms)

Like PASSING but loop until all the variables become true

Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Macro: failing* ((&rest clauses) &body forms)

Like PASSING, but test is inverted and sequential binding

Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Macro: iterate (name bindings &body body)

Scheme-style named-LET: parallel binding

This compiles into LABELS and recursive calls, which is fully general. If you are using an implementation which can’t optimise tail calls, start using one which can.

This is like LET, not LET*: initial values can’t see preceeding variables.

Package

org.tfeb.hax.iterate.

Source

iterate.lisp.

Macro: iterate* (name bindings &body body)

Variant Scheme-style named-LET: sequential binding

This compiles into LABELS and recursive calls, which is fully general. If you are using an implementation which can’t optimise tail calls, start using one which can.

This is like LET*: initial values can depend on preceeding variables.

Package

org.tfeb.hax.iterate.

Source

iterate.lisp.

Macro: iterating (name bindings &body body)

Applicative iteration macro with optional step forms: parallel binding

This is like ITERATE but each binding can be (var init/step) or (var init step). The local function has keyword arguments which default to init/step or step respectively, so you can provide only some, or simply use this as a looping construct.

This is like LET or DO, not LET* or DO*: initial values can’t see preceeding variables and step forms see the old values of variables.

Package

org.tfeb.hax.iterate.

Source

iterate.lisp.

Macro: iterating* (name bindings &body body)

Applicative iteration macro with optional step forms: sequential binding

This is like ITERATE but each binding can be (var init/step) or (var init step). The local function has approproate keyword arguments which default to init/step or step respectively, so you can provide only some, or simply use this as a looping construct.

This is like LET* or DO*, not LET or DO: initial values can see preceeding variables and step forms can see preceeding updated variables.

Package

org.tfeb.hax.iterate.

Source

iterate.lisp.

Macro: logging (clauses &body forms)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Macro: looping ((&rest clauses) &body decls/forms)

A simple loop construct

Each clause in CLAUSES may either be <var> which is bound to NIL, or may be (<var> <init>) which binds <var> to <init>. Each time through the loop the variables are updated by the values of the BODY. The values of the last of the forms in DECLS/FORMS are used to update the variables. There is no termination condition, but the forms are wrapped in a block named NIL in the usual way. Initial variable bindings are in parallel.

Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Macro: looping* ((&rest clauses) &body decls/forms)

Like LOOPING but initial bindings are sequential

Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Macro: looping/values (((&rest variables) &rest form/s) &body decls/body)

Like LOOPING but with multiple values

(looping/values ((<var> ...) <form>) ...) binds the <var>s to the values of <form> and hhen updates them with the values of the last form in the body. (looping/values ((<var> ...) <form> ...) binds the <var>s to the cobined values of all the <form>’s and then updates them with the values of the last form in the body. As with LOOPING there is no termination condition but the body is wrapped in a block named NIL so RETURN will work.

Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Macro: looping/values* ((&rest clauses) &body decls/forms)

A nested variant of LOOPING/VALUES

Each clause in CLAUSES is of the form either ((<var> ...) <form>), in which case the <var>s will be bound to the multiple values of <form>, or ((<var> ...) <form> ...) which is the same as ((<var>) (multiple-value-call #’values <form> ...)). Each clause happens sequentially, within the scope of bindings established by previous clauses. The total set of the variables is then updated by the values of the last form in the body.

Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Macro: macrolet/m (clauses &body forms)

MACROLET, metatronically

Package

org.tfeb.hax.metatronic.

Source

metatronic.lisp.

Macro: matching (form &body clauses)
Package

org.tfeb.hax.spam.

Source

spam.lisp.

Macro: memoized-labels ((&rest labdefs) &body bod)

A version of LABELS that memoizes the local functions

See MEMOIZE-FUNCTION and DEF-MEMOIZED-FUNCTION. If code that uses this is compiled (either by COMPILE or COMPILE-FILE, then the table of memoized results will be unique, if interpreted then a new table may be generated for each use. The function ‘names’ are generalised in the same way as for DEF-MEMOIZED-FUNCTION.

Package

org.tfeb.hax.memoize.

Source

memoize.lisp.

Macro: passing ((&rest clauses) &body forms)

Loop while some variables are all true

Each clause in CLAUSES is either <var> which is initialised to NIL and stepped to its current value, (<var> <init/step>) which initialises <var> to the value of <init/step> and steps it to the current value of the same form, or (<var> <init> <step>) which splits the two forms. The variables are bound, in parallel, to the value of the initialisation forms, and the forms in the body are evaluated while all the variables remain true, with the variables being updated at the end of the body. Once one or variables becomes false the loop stops and the values of the variables (at least one of which will be NIL) are returned.

This expands into DO, so all the things that are true of DO are true here: the body is a TAGBODY, and there is a block named NIL wrapped around the form so (RETURN ...) will work.

Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Macro: passing* ((&rest clauses) &body forms)

Like PASSING, but with bindings in series

Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Macro: thunk (&body body)

Function of no arguments

Package

org.tfeb.hax.utilities.

Source

utilities.lisp.

Macro: thunk* (&body body)

Function of any number of ignored arguments

Package

org.tfeb.hax.utilities.

Source

utilities.lisp.

Macro: trace-macro (&rest macro-names)

Trace macros named by MACRO-NAMES, when macro tracing is on.

These macros don’t need to be defined: they will be traced when they are defined. In fact they don’t even need to be macros: if they’re not then nothing will happen but they won’t ever be traced.

See *TRACE-MACROEXPAND-TRACED-NAMES* etc for the underlying mechanism. TRACE-MACROEXPAND turns tracing on and off.

You probably want to set *TRACE-MACROEXPAND-TRACED-PACKAGES* to ’() if you use this, or you will get per-package tracing.

Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Macro: untrace-macro (&rest macro-names)

Untrace macros named by MACRO-NAMES.

Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Macro: with-accumulators ((&rest accumulators) &body forms)

Accumulate some things

This defines some local functions which accumulate things as described by ACCUMULATORS. Each accumulator is given as either a simple specification or a more extensible one which allows more options.

A simple specification is (name operator &optional initially), where name is the name of the local accumulator function, operator names the operator and initially, if given is the initial value.

operator denotes (it’s a symbol or a lambda expression) a function which can take zero or two arguments. If there is no initial value it is called with no arguments to initialise the accumulator. Otherwise it will be called, each time the accumulator function is called, with two arguments: the current value of the accumulator and the argument to the accumulator function. Its return value is the new value of the accumulator.

The extensible specification is (name operator &key initially type returner default by). In this case name, operator & initially mean exactly the same as previously, but type is a type specification for the variable which underlies the accumulator, and returner denotes a function of one argument, the final value of the accumulator, whose return value is used instead of the final value. If default is given then the local function takes an optional argument whose default it is. If by is given then it takes no arguments and this is the increment. These two arguments are mutually exclusive.

The local accumulator functions are declared inline, and return their argument.

The form returns the final values of all the accumulators as multiple values, possibly via the returner functions.

Package

org.tfeb.hax.collecting.

Source

collecting.lisp.

Macro: with-collectors ((&rest collectors) &body forms)

Collect some things into lists forwards.

The names in COLLECTORS are defined as local functions, which each collect into a separate list. The collector functions return their argument. Returns as many values as there are collectors.

The local functions defined by this macro are declared inline and so should have no overhead for a reasonable compiler. The macro uses secret tail pointers and so should be efficient.

Package

org.tfeb.hax.collecting.

Source

collecting.lisp.

Macro: with-macroexpand-tracing ((&optional state) &body forms)

Evaluate FORMS with (or without) macroexpansion tracing

See CALL/MACROEXPAND-TRACING which this is a shim for.

Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Macro: with-names ((&rest clauses) &body forms)

Bind a bunch of variables to fresh symbols with the same name

Optionally you can specify the name by giving a clause as (var <string-designator>).

Package

org.tfeb.hax.utilities.

Source

utilities.lisp.

Macro: with-object-accessors ((&rest accessor-specs) object &body decls/forms)

This is exactly like WITH-ACCESSORS but for completely general objects.

For instance:
(with-oject-accessors ((kar car) cdr) (cons 1 2)
... kar ... cdr ...)

Package

org.tfeb.hax.object-accessors.

Source

object-accessors.lisp.


5.1.3 Ordinary functions

Function: all-of (&rest predicates)
Package

org.tfeb.hax.spam.

Source

spam.lisp.

Function: any ()
Package

org.tfeb.hax.spam.

Source

spam.lisp.

Function: call/macroexpand-tracing (f &optional state)

Call f with macroexpansion tracing on (or off).

This is useful for compiling files, say, where you want to see what happens.

Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Function: clear-memoized-function (fn-name)

Clear memoized results for FN-NAME

Package

org.tfeb.hax.memoize.

Source

memoize.lisp.

Function: clear-memoized-functions ()

Clear memoized results for all functions

Package

org.tfeb.hax.memoize.

Source

memoize.lisp.

Function: close-open-log-files (&key all abort test reset)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Function: collect-into (collector value)

Collect VALUE into COLLECTOR, returning VALUE.

If COLLECTOR is something made by MAKE-COLLECTOR, do the right thing. If it is a function (such as the local functions defined by COLLECTING / WITH-COLLECTORS), simply call it with the value.

This is the closest equivalent to Interlisp’s TCONC.

Package

org.tfeb.hax.collecting.

Source

collecting.lisp.

Function: collector-contents (collector &optional appending)

Return the contents of a collector

If APPENDING is given, append this to the collector (without copying it) first. APPENDING does not need to be a proper list or a list at all: the last cons of the collector will be made to be APPENDING, and if nothing has been collected previously APPENDING itself will be returned.

If APPENDING is not given, then the collector can be used after this but the returned contents will be destructively modified in that case. If APPENDING is given the collector contents will generally be junk as the tail pointer is not updated.

See NCONC-COLLECTOR-ONTO for a function which appends a list to a pointer and updates the tail pointer appropriately.

Package

org.tfeb.hax.collecting.

Source

collecting.lisp.

Function: cons-matches (car cdr)
Package

org.tfeb.hax.spam.

Source

spam.lisp.

Function: copy-stringtable (&optional from to nospecial)

Copy a stringtable

Make a copy of a stringtable: FROM if given is the stringtable to copy, which by default is *STRINGTABLE*. If FROM is given as NIL then a copy is made of the initial stringtable. TO is the stringtable to copy into, if given. if not given a new stringtable is created.

If the third optional argument is not NIL, then don’t copy special character handlers. In this case the only thing copied is the escape character.

The argument convention is intentianally the same as COPY-READTABLE, which is why it’s slightly clunky, especially if you don’t want any specials.

Package

org.tfeb.hax.stringtable.

Source

stringtable.lisp.

Function: current-log-files (&key all)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Function: default-log-entry-formatter ()
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Function: flush-open-log-files (&key all wait)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Function: function-memoized-p (fn-name)

Is FN-NAME memoized?

Package

org.tfeb.hax.memoize.

Source

memoize.lisp.

Function: get-precision-universal-time (&key it type rate chide)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Function: get-stringtable-special-character (character subcharacter &optional stringtable)

Get the handler function for a stringtable special character

For CHARACTER and SUBCHARACTER return the handler function in STRINGTABLE (by default *STRINGTABLE*). As a second value return true if it is not the fallback, false if it is.

An error is signaled if CHARACTER is not a special character in the stringtable.

Package

org.tfeb.hax.stringtable.

Source

stringtable.lisp.

Function: head-matches (&rest predicates)
Package

org.tfeb.hax.spam.

Source

spam.lisp.

Function: is (x)
Package

org.tfeb.hax.spam.

Source

spam.lisp.

Function: is-type (type)
Package

org.tfeb.hax.spam.

Source

spam.lisp.

Function: lambda-list-keyword ()
Package

org.tfeb.hax.spam.

Source

spam.lisp.

Function: list*-matches (&rest predicates)
Package

org.tfeb.hax.spam.

Source

spam.lisp.

Function: list-matches (&rest predicates)
Package

org.tfeb.hax.spam.

Source

spam.lisp.

Function: list-of (predicate)
Package

org.tfeb.hax.spam.

Source

spam.lisp.

Function: log-file-truename (filespec)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Function: log-files-sane-p (opened closed &key warn error)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Function: macroexpand-traced-p ()

Is macroexpansion currently traced?

Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Function: make-collector (&key initial-contents copy)

Make a collector object into which things can be collected.

INITIAL-CONTENTS, if given it the initial contents of the object, a list.

COPY (default true) means that the initial contents will be copied. If it is false, then the initial contents will be destructively modified by collection.

The implementation of collectors is unspecified, but they’re obviously just conses with a tail pointer in the cdr. See TCONC in the IRM.

Package

org.tfeb.hax.collecting.

Source

collecting.lisp.

Function: make-comment-form-readtable (&key from to semicolon)

Make a readtable with comment-form readmacro (#; by default).

Make a copy of FROM (defaultly the current readtable) and in it make #; (or as below) be a read macro which causes the next form to be skipped. #n; will skip n forms. Other than the skipping-n-forms thing, this is no more than what #+(or) will do, but it is clearer I think.

If TO is given, instead copy & modify FROM into TO (this behaviour is compatible with what COPY-READTABLE does).

If SEMICOLON is given, it is the dispatching character, instead of #\;.

Package

org.tfeb.hax.comment-form.

Source

comment-form.lisp.

Function: make-cs-form-readtable (&key from to toggle)

Make a readtable suitable for reading single forms case-sensitively.

Make a copy of FROM (defaultly the current readtable) and in it make #~ (replacing ~ by the value of TOGGLE if given) be a toggle which causes the next form to be read case-sensitively. While reading case-sensitively #~ has the opposite effect: it will cause the next form to be read case insensitively. So

(let ((*readtable* (make-cs-form-readtable)))
(read-from-string "(one #~(two ThrEE #~four) five)"))

should return (one (|two| |ThrEE| four) five) as its first value.

This all works by having a pair of readtables which are alike apart from their case sensitivity. Using two readtables rather than modifying the case-sensitivity of one makes the code far more likely to be safe, especially in the presence of multiple threads.

A consequence of the secret second readtable is that, if you want other macro characters in the resulting readtable, you should do so before copying it.

If #~ is adefined as a dispatch macro in the readtable being copied, signal an error.

If TO is given, instead copy & modify FROM into TO (this behaviour is compatible with what COPY-READTABLE does).

If TOGGLE is given, then use it as the toggle character instead of #\~.

Package

org.tfeb.hax.cs-forms.

Source

cs-forms.lisp.

Function: make-read-package-readtable (&key from to at)

Make readtable with read-time package support.

This is a readtable which is a copy of FROM (defaultly the current readtable), but which has #@ (or as specified below) defined such that #@pkg will read the next form in the package denoted by pkg. So

(let ((*readtable* (make-cs-form-readtale)))
(read-from-string "(foo #@keyword bar)"))

should return (foo :bar) as its first value.

If #@ is adefined as a dispatch macro in the readtable being copied, raise an error.

If TO is given, instead copy & modify FROM into TO (this behaviour is compatible with what COPY-READTABLE does).

If AT is given, it is the dispatch macro character to use instead of #@.

Package

org.tfeb.hax.read-package.

Source

read-package.lisp.

Function: make-stringtable-readtable (&key from to delimiter)

Make a readtable which uses a stringtable for some strings

FROM & TO specify readtables in the same way as COPY-READTABLE.

The stringtable will be attached to the DELIMITER subcharacter of the # dispatching macro character.

Return the readtable.

Package

org.tfeb.hax.stringtable.

Source

stringtable.lisp.

Function: make-stringtable-special-character (character &optional fallback stringtable)

Make a special character in a stringtable

CHARACTER is the character to make special. FALLBACK, if given, is the fallback function for the special character: the default is a function which simply returns the character following the special character. STRINGTABLE, if given, is the stringtable to modify: the default is *STRINGTABLE*. Return T.

This is intentionally similar to MAKE-DISPATCH-MACRO-CHARACTER.

Package

org.tfeb.hax.stringtable.

Source

stringtable.lisp.

Function: matchp (thing predicate)
Package

org.tfeb.hax.spam.

Source

spam.lisp.

Function: memoize-function (fn-name &key key test)

Memoize FN-NAME, a function name, causing its results to be stashed

KEY is a function which is given the arglist of FN-NAME, and should return a key to hash on for memoizing. TEST is a function which the test for the ashtable. See Norvig P269-275.

Note this function may not work on self-recursive functions because the compiler can optimize away self-calls in various ways. DEF-MEMOIZED-FUNCTION should work for those cases as it is careful to ensure the function can not be inlined like this.

Package

org.tfeb.hax.memoize.

Source

memoize.lisp.

Function: metatronize (form &key rewrites shares rewriter)

Return a metatronic version of FORM, the table of variables, a list of anonymous variables and the sharing table.

Arguments are FORM with keyword arguments
- REWRITES is a table of variables returned from a previous call
- SHARES is a sharing table returned from a previous call
- REWRITER, if given, should be a designator for a function of one argument, a symbol, which should either return the symbol or a metatronized symbol and an indication of whether it should be stored in the rewrite table. The default value of REWRITER is *DEFAULT-METATRONIZE-SYMBOL-REWRITER*.

This only looks at list structure. Sharing and circularity of list structure (only) is correctly copied.

Package

org.tfeb.hax.metatronic.

Source

metatronic.lisp.

Function: nconc-collector-onto (collector onto)

Append ONTO to the end of COLLECTOR, uodating the tail pointer

This does not copy ONTO, so it will be modified if any more elements are collected into COLLECTOR. Takes time proportional to the length of ONTO.

Return the collector.

Package

org.tfeb.hax.collecting.

Source

collecting.lisp.

Function: nconc-collectors (collector &rest collectors)

Destructively concatenate one or more collectors, returning the first

All the collectors share a tail pointer after this is done, while their head pointers point at appropriate points on the NCONCed list. You can then collect more into any one of them but this will make the tail pointers of all the others junk.

Package

org.tfeb.hax.collecting.

Source

collecting.lisp.

Function: none-of (&rest predicates)
Package

org.tfeb.hax.spam.

Source

spam.lisp.

Function: parse-docstring-body (doc/decls/forms)

Parse a body that may have a docstring at the start

Return three values: the docstring, or NIL, a list of declarations and a list of forms.

Package

org.tfeb.hax.utilities.

Source

utilities.lisp.

Function: parse-simple-body (decls/forms)

Parse a body which can not have a docstring

Return two values: a list of declarations and a list of forms

Package

org.tfeb.hax.utilities.

Source

utilities.lisp.

Function: read-string-with-stringtable (delimiter &optional from stringtable)

Read a string with a stringtable

DELIMITER is the delimiter which terminates the string. FROM is the stream to read, by default *STANDARD-INPUT*, STRINGTABLE is the stringtable to use, default *STRINGTABLE*. Return the string.

Package

org.tfeb.hax.stringtable.

Source

stringtable.lisp.

Function: repeating-list-of (&rest predicates)
Package

org.tfeb.hax.spam.

Source

spam.lisp.

Function: reset-precision-time-offsets (&key report-only tries)

Reset, or check, the precision time offsets.

Returns four values: a universal time and the internal time at which point the second ticked, and the previous values for these two. By default this also sets the internal variables to the new values.

If REPORT-ONLY is given as NIL this will not reset the internal values but only return them.

TRIES (default 3) is the number of attempts to make to get this right. There will be a warning if more than one try is needed, and an error if more than TRIES is needed.

This function necessarily takes at least a second to run.

Package

org.tfeb.hax.slog.

Source

slog.lisp.

Function: reset-singleton-classes ()
Package

org.tfeb.hax.singleton-classes.

Source

singleton-classes.lisp.

Function: rewrite-sources (rewrites)
Package

org.tfeb.hax.metatronic.

Source

metatronic.lisp.

Function: rewrite-targets (rewrites)
Package

org.tfeb.hax.metatronic.

Source

metatronic.lisp.

Function: set-stringtable-newline-skipper (&key stringtable special-character white-warners)

Set STRINGTABLE to have a newline skipper

Add a special handler for STRINGTABLE (default *STRINGTABLE*) which will eat a newline and any number of whitespace characters. SPECIAL-CHARACTER is the special character in STRINGTABLE, which is #~ by default. If WHITE-WARNERS is true (by default) also add some handlers for whitespace which merely warn. This helps detect the case of, for instance, ’~ ’ at the end of a line. Return the stringtable.

Package

org.tfeb.hax.stringtable.

Source

stringtable.lisp.

Function: set-stringtable-special-character (character subcharacter function &optional stringtable)

Set the handler function for a stringtable special character

For CHARACTER and SUBCHARACTER set FUNCTION as the handler in STRINGABLE (by default *STRINGTABLE*). Return T.

An error is signaled if CHARACTER is not a special character in the stringtable.

Package

org.tfeb.hax.stringtable.

Source

stringtable.lisp.

Function: slog (datum &rest arguments)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Function: some-of (&rest predicates)
Package

org.tfeb.hax.spam.

Source

spam.lisp.

Reader: stringtable-escape-character (instance)
Writer: (setf stringtable-escape-character) (instance)
Package

org.tfeb.hax.stringtable.

Source

stringtable.lisp.

Target Slot

escape-character.

Function: trace-macro-package (&rest package-designators)

Trace macros in the packages in PACKAGE-DESIGNATORS

See *TRACE-MACROEXPAND-TRACED-PACKAGES* for details of what a package designator means in this context. Return the list of all package designators.

Note this is a function, not a macro like TRACE-MACRO / TRACE

Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Function: trace-macroexpand (&optional tracep)

Trace or untrace macroexpansion.

If called with no argument, or an argument which is true, ensure that macroexpansion is on. Otherwise ensure it is off.

Return the previous state.

Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Function: unmemoize-function (fn-name)

Remove memoization for FN-NAME

Package

org.tfeb.hax.memoize.

Source

memoize.lisp.

Function: unmemoize-functions ()

Unmemoize all functions

Package

org.tfeb.hax.memoize.

Source

memoize.lisp.

Function: untrace-macro-package (&rest package-designators)

Untrace macros in the packages in PACKAGE-DESIGNATORS

See *TRACE-MACROEXPAND-TRACED-PACKAGES* for details of what a package designator means in this context. Return the list of all package designators.

Note this is a function, not a macro like UNTRACE-MACRO / UNTRACE

Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Function: var ()
Package

org.tfeb.hax.spam.

Source

spam.lisp.


5.1.4 Generic functions

Generic Reader: log-entry-internal-time (condition)
Package

org.tfeb.hax.slog.

Methods
Reader Method: log-entry-internal-time ((condition log-entry))
Source

slog.lisp.

Target Slot

internal-time.

Generic Function: slog-to (to datum &key &allow-other-keys)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Methods
Method: slog-to :around (to (datum once-only-log-entry) &key)
Method: slog-to (to (datum log-entry) &rest arguments &key &allow-other-keys)
Method: slog-to ((to null) (datum log-entry) &key)
Method: slog-to ((to symbol) (datum log-entry) &rest arguments &key &allow-other-keys)
Method: slog-to ((to function) (datum log-entry) &rest arguments &key &allow-other-keys)
Method: slog-to ((to string) (datum log-entry) &key)
Method: slog-to ((to pathname) (datum log-entry) &key)
Method: slog-to ((to log-file) (datum log-entry) &key)
Method: slog-to ((to stream) (datum log-entry) &key)
Method: slog-to (to datum &rest arguments &key &allow-other-keys)

5.1.5 Standalone methods

Method: initialize-instance :after ((c singleton-class) &key)
Source

singleton-classes.lisp.

Method: make-instance ((c abstract-class) &rest junk)
Source

abstract-classes.lisp.

Method: make-instance ((class singleton-class) &key)
Source

singleton-classes.lisp.

Method: print-object ((object log-file) stream)
Source

slog.lisp.

Method: print-object ((object stringtable) stream)
Source

stringtable.lisp.

Method: validate-superclass ((class standard-class) (superclass final-class))
Package

sb-mop.

Source

abstract-classes.lisp.

Method: validate-superclass ((class final-class) (superclass standard-class))
Package

sb-mop.

Source

abstract-classes.lisp.

Method: validate-superclass ((class standard-class) (superclass abstract-class))
Package

sb-mop.

Source

abstract-classes.lisp.

Method: validate-superclass ((class abstract-class) (superclass standard-class))
Package

sb-mop.

Source

abstract-classes.lisp.

Method: validate-superclass ((class standard-class) (superclass singleton-class))
Package

sb-mop.

Source

singleton-classes.lisp.

Method: validate-superclass ((class singleton-class) (superclass singleton-class))
Package

sb-mop.

Source

singleton-classes.lisp.

Method: validate-superclass ((class singleton-class) (superclass standard-class))
Package

sb-mop.

Source

singleton-classes.lisp.


5.1.6 Method combinations

Method Combination: wrapping-standard ()
Package

org.tfeb.hax.wrapping-standard.

Source

wrapping-standard.lisp.


5.1.7 Conditions

Condition: log-entry

all SLOG condition types inherit from this

Package

org.tfeb.hax.slog.

Source

slog.lisp.

Direct superclasses

condition.

Direct subclasses
Direct methods
Direct slots
Slot: internal-time
Initform

(quote (get-internal-real-time))

Readers

log-entry-internal-time.

Writers

This slot is read-only.

Condition: once-only-log-entry

class of log entries which are logged once only

Package

org.tfeb.hax.slog.

Source

slog.lisp.

Direct superclasses

log-entry.

Direct methods
Direct slots
Slot: logged
Initform

(quote (cons nil nil))

Readers

log-entry-logged.

Writers

This slot is read-only.

Condition: simple-log-entry

simple SLOG condition

Package

org.tfeb.hax.slog.

Source

slog.lisp.

Direct superclasses

5.1.8 Classes

Class: abstract-class

The class of abstract classes

Package

org.tfeb.hax.abstract-classes.

Source

abstract-classes.lisp.

Direct superclasses

standard-class.

Direct methods
Class: final-class

The class of classes which may not be subclassed

Package

org.tfeb.hax.abstract-classes.

Source

abstract-classes.lisp.

Direct superclasses

standard-class.

Direct methods
Class: singleton-class
Package

org.tfeb.hax.singleton-classes.

Source

singleton-classes.lisp.

Direct superclasses

standard-class.

Direct methods
Direct slots
Slot: instance

5.2 Internals


5.2.1 Constants

Constant: default-precision-time-rate
Package

org.tfeb.hax.slog.

Source

slog.lisp.


5.2.2 Special variables

Special Variable: *default-metatronize-symbol-rewriter*

The default symbol rewriter used by METATRONIZE

The initial value of this implements the bahviour described in the documentation: changing it will change the behaviour or DEFMACRO/M and MACROLET/M

Package

org.tfeb.hax.metatronic.

Source

metatronic.lisp.

Special Variable: *it0*
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Special Variable: *log-files*
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Special Variable: *memoized-functions*
Package

org.tfeb.hax.memoize.

Source

memoize.lisp.

Special Variable: *read-package-package*
Package

org.tfeb.hax.read-package.

Source

read-package.lisp.

Special Variable: *should-be-tracing-p*
Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Special Variable: *singleton-classes*
Package

org.tfeb.hax.singleton-classes.

Source

singleton-classes.lisp.

Special Variable: *slfs*
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Special Variable: *ut0*
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Special Variable: *wrapped-macroexpand-hook*
Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.


5.2.3 Ordinary functions

Function: call/closing-opened-log-files (f &key abort reporter)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Function: canonicalise-package-designator (designator)
Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Function: canonicalize-destination (destination)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Function: check-arglist (name args)
Package

org.tfeb.hax.metatronic.

Source

metatronic.lisp.

Function: close-log-file (log-file &key abort)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Function: close-open-log-files-up-to (up-to &key abort test)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Function: compute-image-time-offsets (&optional tries)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Function: ensure-log-entry (datum arguments)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Function: ensure-log-entry-typespec (typespec)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Function: expand-doing (clauses test values forms &key sequential)
Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Function: expand-iterate (name bindings body starred)
Package

org.tfeb.hax.iterate.

Source

iterate.lisp.

Function: expand-iterating (name bindings body starred)
Package

org.tfeb.hax.iterate.

Source

iterate.lisp.

Function: expand-looping (clauses decls/forms &key sequential)
Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Function: expand-simple-loop (clauses forms &key sequential test-at-end negated)
Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Function: extract-ignore/other-decls (decls/forms)
Package

org.tfeb.hax.iterate.

Source

iterate.lisp.

Function: fallback (special char delimiter from)
Package

org.tfeb.hax.stringtable.

Source

stringtable.lisp.

Function: log-file-open-p (log-file)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Function: log-file-p (object)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Reader: log-file-pathname (instance)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Target Slot

pathname.

Reader: log-file-stream (instance)
Writer: (setf log-file-stream) (instance)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Target Slot

stream.

Function: m2 (form metatrons anonymous)
Package

org.tfeb.hax.metatronic.

Source

metatronic.lisp.

Function: make-log-file (&key pathname stream)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Function: make-memo (fn key test)
Package

org.tfeb.hax.memoize.

Source

memoize.lisp.

Function: make-stringtable (&key specials escape-character)
Package

org.tfeb.hax.stringtable.

Source

stringtable.lisp.

Function: open-log-file-pathname (pathname)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Function: parse-binding-form (form)
Package

org.tfeb.hax.binding.

Source

binding.lisp.

Function: parse-clauses (clauses)
Package

org.tfeb.hax.simple-loops.

Source

simple-loops.lisp.

Function: read-string-with-stringtable/list (delimiter from stringtable)
Package

org.tfeb.hax.stringtable.

Source

stringtable.lisp.

Function: read-string-with-stringtable/suppressed (delimiter from stringtable)
Package

org.tfeb.hax.stringtable.

Source

stringtable.lisp.

Function: state-sanity-check ()
Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Function: stringtable-p (object)
Package

org.tfeb.hax.stringtable.

Source

stringtable.lisp.

Reader: stringtable-specials (instance)
Writer: (setf stringtable-specials) (instance)
Package

org.tfeb.hax.stringtable.

Source

stringtable.lisp.

Target Slot

specials.

Function: trace-macroexpand-hook (macro-function macro-form environment)
Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Function: trace-macroexpand-trace-p (macro-function macro-form environment)
Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Function: trace-macros (names)
Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Function: untrace-macros (names)
Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Function: walk-binding-body (body)
Package

org.tfeb.hax.binding.

Source

binding.lisp.


5.2.4 Generic functions

Generic Function: ensure-log-file (thing &key open)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Methods
Method: ensure-log-file ((lf log-file) &key open)
Method: ensure-log-file ((lfn pathname) &key open)
Method: ensure-log-file ((lfn string) &key open)
Generic Reader: log-entry-logged (condition)
Package

org.tfeb.hax.slog.

Methods
Reader Method: log-entry-logged ((condition once-only-log-entry))
Source

slog.lisp.

Target Slot

logged.

Generic Function: log-entry-logged-p (log-entry)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Methods
Method: log-entry-logged-p ((log-entry log-entry))
Method: log-entry-logged-p ((log-entry once-only-log-entry))
Generic Function: (setf log-entry-logged-p) (log-entry)
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Methods
Method: (setf log-entry-logged-p) ((log-entry once-only-log-entry))
Generic Reader: stringtable-error-message (condition)
Package

org.tfeb.hax.stringtable.

Methods
Reader Method: stringtable-error-message ((condition stringtable-error))
Source

stringtable.lisp.

Target Slot

message.


5.2.5 Conditions

Condition: insane-state
Package

org.tfeb.hax.trace-macroexpand.

Source

trace-macroexpand.lisp.

Direct superclasses

simple-error.

Condition: metatronic-arglist-warning
Package

org.tfeb.hax.metatronic.

Source

metatronic.lisp.

Direct superclasses
  • simple-warning.
  • style-warning.
Condition: stringtable-error
Package

org.tfeb.hax.stringtable.

Source

stringtable.lisp.

Direct superclasses

simple-error.

Direct subclasses

stringtable-reader-error.

Direct methods

stringtable-error-message.

Direct slots
Slot: message
Initform

(quote "stringtable error")

Readers

stringtable-error-message.

Writers

This slot is read-only.

Condition: stringtable-reader-error
Package

org.tfeb.hax.stringtable.

Source

stringtable.lisp.

Direct superclasses
Direct slots
Slot: message
Initform

(quote "stringtable reader error")


5.2.6 Structures

Structure: log-file
Package

org.tfeb.hax.slog.

Source

slog.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: pathname
Package

common-lisp.

Initform

(error "hopeless botch")

Readers

log-file-pathname.

Writers

This slot is read-only.

Slot: stream
Package

common-lisp.

Initform

(error "hopeless botch")

Readers

log-file-stream.

Writers

(setf log-file-stream).

Structure: stringtable
Package

org.tfeb.hax.stringtable.

Source

stringtable.lisp.

Direct superclasses

structure-object.

Direct methods

print-object.

Direct slots
Slot: specials
Initform

(list (list #\~ (make-hash-table) (function org.tfeb.hax.stringtable::fallback)))

Readers

stringtable-specials.

Writers

(setf stringtable-specials).

Slot: escape-character
Initform

#\\

Readers

stringtable-escape-character.

Writers

(setf stringtable-escape-character).


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
A   B   C   D   E   F   G   H   I   L   M   N   O   P   R   S   T   U   V   W  
Index Entry  Section

(
(setf log-entry-logged-p): Private generic functions
(setf log-entry-logged-p): Private generic functions
(setf log-file-stream): Private ordinary functions
(setf stringtable-escape-character): Public ordinary functions
(setf stringtable-specials): Private ordinary functions

A
all-of: Public ordinary functions
any: Public ordinary functions

B
bind: Public macros
bind/destructuring: Public macros
bind/macro: Public macros
bind/values: Public macros
binding: Public macros

C
call/closing-opened-log-files: Private ordinary functions
call/macroexpand-tracing: Public ordinary functions
canonicalise-package-designator: Private ordinary functions
canonicalize-destination: Private ordinary functions
check-arglist: Private ordinary functions
clear-memoized-function: Public ordinary functions
clear-memoized-functions: Public ordinary functions
close-log-file: Private ordinary functions
close-open-log-files: Public ordinary functions
close-open-log-files-up-to: Private ordinary functions
closing-opened-log-files: Public macros
collect-into: Public ordinary functions
collecting: Public macros
collecting-values: Public macros
collector-contents: Public ordinary functions
compute-image-time-offsets: Private ordinary functions
cons-matches: Public ordinary functions
copy-stringtable: Public ordinary functions
current-log-files: Public ordinary functions

D
def-memoized-function: Public macros
default-log-entry-formatter: Public ordinary functions
define-abstract-class: Public macros
define-compiler-macro/m: Public macros
define-dynamic-state: Public macros
define-final-class: Public macros
define-function: Public macros
define-functions: Public macros
define-macro-function: Public macros
define-macro-functions: Public macros
defmacro/m: Public macros
do-failing: Public macros
do-failing*: Public macros
do-passing: Public macros
do-passing*: Public macros
doing: Public macros
doing*: Public macros
dolists: Public macros

E
ensure-log-entry: Private ordinary functions
ensure-log-entry-typespec: Private ordinary functions
ensure-log-file: Private generic functions
ensure-log-file: Private generic functions
ensure-log-file: Private generic functions
ensure-log-file: Private generic functions
escaping: Public macros
expand-doing: Private ordinary functions
expand-iterate: Private ordinary functions
expand-iterating: Private ordinary functions
expand-looping: Private ordinary functions
expand-simple-loop: Private ordinary functions
extract-ignore/other-decls: Private ordinary functions

F
failing: Public macros
failing*: Public macros
fallback: Private ordinary functions
flush-open-log-files: Public ordinary functions
Function, (setf log-file-stream): Private ordinary functions
Function, (setf stringtable-escape-character): Public ordinary functions
Function, (setf stringtable-specials): Private ordinary functions
Function, all-of: Public ordinary functions
Function, any: Public ordinary functions
Function, call/closing-opened-log-files: Private ordinary functions
Function, call/macroexpand-tracing: Public ordinary functions
Function, canonicalise-package-designator: Private ordinary functions
Function, canonicalize-destination: Private ordinary functions
Function, check-arglist: Private ordinary functions
Function, clear-memoized-function: Public ordinary functions
Function, clear-memoized-functions: Public ordinary functions
Function, close-log-file: Private ordinary functions
Function, close-open-log-files: Public ordinary functions
Function, close-open-log-files-up-to: Private ordinary functions
Function, collect-into: Public ordinary functions
Function, collector-contents: Public ordinary functions
Function, compute-image-time-offsets: Private ordinary functions
Function, cons-matches: Public ordinary functions
Function, copy-stringtable: Public ordinary functions
Function, current-log-files: Public ordinary functions
Function, default-log-entry-formatter: Public ordinary functions
Function, ensure-log-entry: Private ordinary functions
Function, ensure-log-entry-typespec: Private ordinary functions
Function, expand-doing: Private ordinary functions
Function, expand-iterate: Private ordinary functions
Function, expand-iterating: Private ordinary functions
Function, expand-looping: Private ordinary functions
Function, expand-simple-loop: Private ordinary functions
Function, extract-ignore/other-decls: Private ordinary functions
Function, fallback: Private ordinary functions
Function, flush-open-log-files: Public ordinary functions
Function, function-memoized-p: Public ordinary functions
Function, get-precision-universal-time: Public ordinary functions
Function, get-stringtable-special-character: Public ordinary functions
Function, head-matches: Public ordinary functions
Function, is: Public ordinary functions
Function, is-type: Public ordinary functions
Function, lambda-list-keyword: Public ordinary functions
Function, list*-matches: Public ordinary functions
Function, list-matches: Public ordinary functions
Function, list-of: Public ordinary functions
Function, log-file-open-p: Private ordinary functions
Function, log-file-p: Private ordinary functions
Function, log-file-pathname: Private ordinary functions
Function, log-file-stream: Private ordinary functions
Function, log-file-truename: Public ordinary functions
Function, log-files-sane-p: Public ordinary functions
Function, m2: Private ordinary functions
Function, macroexpand-traced-p: Public ordinary functions
Function, make-collector: Public ordinary functions
Function, make-comment-form-readtable: Public ordinary functions
Function, make-cs-form-readtable: Public ordinary functions
Function, make-log-file: Private ordinary functions
Function, make-memo: Private ordinary functions
Function, make-read-package-readtable: Public ordinary functions
Function, make-stringtable: Private ordinary functions
Function, make-stringtable-readtable: Public ordinary functions
Function, make-stringtable-special-character: Public ordinary functions
Function, matchp: Public ordinary functions
Function, memoize-function: Public ordinary functions
Function, metatronize: Public ordinary functions
Function, nconc-collector-onto: Public ordinary functions
Function, nconc-collectors: Public ordinary functions
Function, none-of: Public ordinary functions
Function, open-log-file-pathname: Private ordinary functions
Function, parse-binding-form: Private ordinary functions
Function, parse-clauses: Private ordinary functions
Function, parse-docstring-body: Public ordinary functions
Function, parse-simple-body: Public ordinary functions
Function, read-string-with-stringtable: Public ordinary functions
Function, read-string-with-stringtable/list: Private ordinary functions
Function, read-string-with-stringtable/suppressed: Private ordinary functions
Function, repeating-list-of: Public ordinary functions
Function, reset-precision-time-offsets: Public ordinary functions
Function, reset-singleton-classes: Public ordinary functions
Function, rewrite-sources: Public ordinary functions
Function, rewrite-targets: Public ordinary functions
Function, set-stringtable-newline-skipper: Public ordinary functions
Function, set-stringtable-special-character: Public ordinary functions
Function, slog: Public ordinary functions
Function, some-of: Public ordinary functions
Function, state-sanity-check: Private ordinary functions
Function, stringtable-escape-character: Public ordinary functions
Function, stringtable-p: Private ordinary functions
Function, stringtable-specials: Private ordinary functions
Function, trace-macro-package: Public ordinary functions
Function, trace-macroexpand: Public ordinary functions
Function, trace-macroexpand-hook: Private ordinary functions
Function, trace-macroexpand-trace-p: Private ordinary functions
Function, trace-macros: Private ordinary functions
Function, unmemoize-function: Public ordinary functions
Function, unmemoize-functions: Public ordinary functions
Function, untrace-macro-package: Public ordinary functions
Function, untrace-macros: Private ordinary functions
Function, var: Public ordinary functions
Function, walk-binding-body: Private ordinary functions
function-memoized-p: Public ordinary functions

G
Generic Function, (setf log-entry-logged-p): Private generic functions
Generic Function, ensure-log-file: Private generic functions
Generic Function, log-entry-internal-time: Public generic functions
Generic Function, log-entry-logged: Private generic functions
Generic Function, log-entry-logged-p: Private generic functions
Generic Function, slog-to: Public generic functions
Generic Function, stringtable-error-message: Private generic functions
get-precision-universal-time: Public ordinary functions
get-stringtable-special-character: Public ordinary functions

H
head-matches: Public ordinary functions

I
initialize-instance: Public standalone methods
is: Public ordinary functions
is-type: Public ordinary functions
iterate: Public macros
iterate*: Public macros
iterating: Public macros
iterating*: Public macros

L
lambda-list-keyword: Public ordinary functions
list*-matches: Public ordinary functions
list-matches: Public ordinary functions
list-of: Public ordinary functions
log-entry-internal-time: Public generic functions
log-entry-internal-time: Public generic functions
log-entry-logged: Private generic functions
log-entry-logged: Private generic functions
log-entry-logged-p: Private generic functions
log-entry-logged-p: Private generic functions
log-entry-logged-p: Private generic functions
log-file-open-p: Private ordinary functions
log-file-p: Private ordinary functions
log-file-pathname: Private ordinary functions
log-file-stream: Private ordinary functions
log-file-truename: Public ordinary functions
log-files-sane-p: Public ordinary functions
logging: Public macros
looping: Public macros
looping*: Public macros
looping/values: Public macros
looping/values*: Public macros

M
m2: Private ordinary functions
Macro, bind: Public macros
Macro, bind/destructuring: Public macros
Macro, bind/macro: Public macros
Macro, bind/values: Public macros
Macro, binding: Public macros
Macro, closing-opened-log-files: Public macros
Macro, collecting: Public macros
Macro, collecting-values: Public macros
Macro, def-memoized-function: Public macros
Macro, define-abstract-class: Public macros
Macro, define-compiler-macro/m: Public macros
Macro, define-dynamic-state: Public macros
Macro, define-final-class: Public macros
Macro, define-function: Public macros
Macro, define-functions: Public macros
Macro, define-macro-function: Public macros
Macro, define-macro-functions: Public macros
Macro, defmacro/m: Public macros
Macro, do-failing: Public macros
Macro, do-failing*: Public macros
Macro, do-passing: Public macros
Macro, do-passing*: Public macros
Macro, doing: Public macros
Macro, doing*: Public macros
Macro, dolists: Public macros
Macro, escaping: Public macros
Macro, failing: Public macros
Macro, failing*: Public macros
Macro, iterate: Public macros
Macro, iterate*: Public macros
Macro, iterating: Public macros
Macro, iterating*: Public macros
Macro, logging: Public macros
Macro, looping: Public macros
Macro, looping*: Public macros
Macro, looping/values: Public macros
Macro, looping/values*: Public macros
Macro, macrolet/m: Public macros
Macro, matching: Public macros
Macro, memoized-labels: Public macros
Macro, passing: Public macros
Macro, passing*: Public macros
Macro, thunk: Public macros
Macro, thunk*: Public macros
Macro, trace-macro: Public macros
Macro, untrace-macro: Public macros
Macro, with-accumulators: Public macros
Macro, with-collectors: Public macros
Macro, with-macroexpand-tracing: Public macros
Macro, with-names: Public macros
Macro, with-object-accessors: Public macros
macroexpand-traced-p: Public ordinary functions
macrolet/m: Public macros
make-collector: Public ordinary functions
make-comment-form-readtable: Public ordinary functions
make-cs-form-readtable: Public ordinary functions
make-instance: Public standalone methods
make-instance: Public standalone methods
make-log-file: Private ordinary functions
make-memo: Private ordinary functions
make-read-package-readtable: Public ordinary functions
make-stringtable: Private ordinary functions
make-stringtable-readtable: Public ordinary functions
make-stringtable-special-character: Public ordinary functions
matching: Public macros
matchp: Public ordinary functions
memoize-function: Public ordinary functions
memoized-labels: Public macros
metatronize: Public ordinary functions
Method Combination, wrapping-standard: Public method combinations
Method, (setf log-entry-logged-p): Private generic functions
Method, ensure-log-file: Private generic functions
Method, ensure-log-file: Private generic functions
Method, ensure-log-file: Private generic functions
Method, initialize-instance: Public standalone methods
Method, log-entry-internal-time: Public generic functions
Method, log-entry-logged: Private generic functions
Method, log-entry-logged-p: Private generic functions
Method, log-entry-logged-p: Private generic functions
Method, make-instance: Public standalone methods
Method, make-instance: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, slog-to: Public generic functions
Method, slog-to: Public generic functions
Method, slog-to: Public generic functions
Method, slog-to: Public generic functions
Method, slog-to: Public generic functions
Method, slog-to: Public generic functions
Method, slog-to: Public generic functions
Method, slog-to: Public generic functions
Method, slog-to: Public generic functions
Method, slog-to: Public generic functions
Method, stringtable-error-message: Private generic functions
Method, validate-superclass: Public standalone methods
Method, validate-superclass: Public standalone methods
Method, validate-superclass: Public standalone methods
Method, validate-superclass: Public standalone methods
Method, validate-superclass: Public standalone methods
Method, validate-superclass: Public standalone methods
Method, validate-superclass: Public standalone methods

N
nconc-collector-onto: Public ordinary functions
nconc-collectors: Public ordinary functions
none-of: Public ordinary functions

O
open-log-file-pathname: Private ordinary functions

P
parse-binding-form: Private ordinary functions
parse-clauses: Private ordinary functions
parse-docstring-body: Public ordinary functions
parse-simple-body: Public ordinary functions
passing: Public macros
passing*: Public macros
print-object: Public standalone methods
print-object: Public standalone methods

R
read-string-with-stringtable: Public ordinary functions
read-string-with-stringtable/list: Private ordinary functions
read-string-with-stringtable/suppressed: Private ordinary functions
repeating-list-of: Public ordinary functions
reset-precision-time-offsets: Public ordinary functions
reset-singleton-classes: Public ordinary functions
rewrite-sources: Public ordinary functions
rewrite-targets: Public ordinary functions

S
set-stringtable-newline-skipper: Public ordinary functions
set-stringtable-special-character: Public ordinary functions
slog: Public ordinary functions
slog-to: Public generic functions
slog-to: Public generic functions
slog-to: Public generic functions
slog-to: Public generic functions
slog-to: Public generic functions
slog-to: Public generic functions
slog-to: Public generic functions
slog-to: Public generic functions
slog-to: Public generic functions
slog-to: Public generic functions
slog-to: Public generic functions
some-of: Public ordinary functions
state-sanity-check: Private ordinary functions
stringtable-error-message: Private generic functions
stringtable-error-message: Private generic functions
stringtable-escape-character: Public ordinary functions
stringtable-p: Private ordinary functions
stringtable-specials: Private ordinary functions

T
thunk: Public macros
thunk*: Public macros
trace-macro: Public macros
trace-macro-package: Public ordinary functions
trace-macroexpand: Public ordinary functions
trace-macroexpand-hook: Private ordinary functions
trace-macroexpand-trace-p: Private ordinary functions
trace-macros: Private ordinary functions

U
unmemoize-function: Public ordinary functions
unmemoize-functions: Public ordinary functions
untrace-macro: Public macros
untrace-macro-package: Public ordinary functions
untrace-macros: Private ordinary functions

V
validate-superclass: Public standalone methods
validate-superclass: Public standalone methods
validate-superclass: Public standalone methods
validate-superclass: Public standalone methods
validate-superclass: Public standalone methods
validate-superclass: Public standalone methods
validate-superclass: Public standalone methods
var: Public ordinary functions

W
walk-binding-body: Private ordinary functions
with-accumulators: Public macros
with-collectors: Public macros
with-macroexpand-tracing: Public macros
with-names: Public macros
with-object-accessors: Public macros
wrapping-standard: Public method combinations


A.3 Variables

Jump to:   *  
C   D   E   I   L   M   P   S  
Index Entry  Section

*
*default-log-entry-type*: Public special variables
*default-metatronize-symbol-rewriter*: Private special variables
*fallback-log-destination-handler*: Public special variables
*it0*: Private special variables
*log-entry-formatter*: Public special variables
*log-files*: Private special variables
*memoized-functions*: Private special variables
*read-package-package*: Private special variables
*should-be-tracing-p*: Private special variables
*singleton-classes*: Private special variables
*slfs*: Private special variables
*stringtable*: Public special variables
*stringtable-fallback-absorb-special*: Public special variables
*trace-macroexpand-maybe-trace*: Public special variables
*trace-macroexpand-output*: Public special variables
*trace-macroexpand-print-circle*: Public special variables
*trace-macroexpand-print-length*: Public special variables
*trace-macroexpand-print-level*: Public special variables
*trace-macroexpand-printer*: Public special variables
*trace-macroexpand-trace-hook*: Public special variables
*trace-macroexpand-traced-names*: Public special variables
*trace-macroexpand-traced-packages*: Public special variables
*ut0*: Private special variables
*wrapped-macroexpand-hook*: Private special variables

C
Constant, default-precision-time-rate: Private constants

D
default-precision-time-rate: Private constants

E
escape-character: Private structures

I
instance: Public classes
internal-time: Public conditions

L
logged: Public conditions

M
message: Private conditions
message: Private conditions

P
pathname: Private structures

S
Slot, escape-character: Private structures
Slot, instance: Public classes
Slot, internal-time: Public conditions
Slot, logged: Public conditions
Slot, message: Private conditions
Slot, message: Private conditions
Slot, pathname: Private structures
Slot, specials: Private structures
Slot, stream: Private structures
Special Variable, *default-log-entry-type*: Public special variables
Special Variable, *default-metatronize-symbol-rewriter*: Private special variables
Special Variable, *fallback-log-destination-handler*: Public special variables
Special Variable, *it0*: Private special variables
Special Variable, *log-entry-formatter*: Public special variables
Special Variable, *log-files*: Private special variables
Special Variable, *memoized-functions*: Private special variables
Special Variable, *read-package-package*: Private special variables
Special Variable, *should-be-tracing-p*: Private special variables
Special Variable, *singleton-classes*: Private special variables
Special Variable, *slfs*: Private special variables
Special Variable, *stringtable*: Public special variables
Special Variable, *stringtable-fallback-absorb-special*: Public special variables
Special Variable, *trace-macroexpand-maybe-trace*: Public special variables
Special Variable, *trace-macroexpand-output*: Public special variables
Special Variable, *trace-macroexpand-print-circle*: Public special variables
Special Variable, *trace-macroexpand-print-length*: Public special variables
Special Variable, *trace-macroexpand-print-level*: Public special variables
Special Variable, *trace-macroexpand-printer*: Public special variables
Special Variable, *trace-macroexpand-trace-hook*: Public special variables
Special Variable, *trace-macroexpand-traced-names*: Public special variables
Special Variable, *trace-macroexpand-traced-packages*: Public special variables
Special Variable, *ut0*: Private special variables
Special Variable, *wrapped-macroexpand-hook*: Private special variables
specials: Private structures
stream: Private structures


A.4 Data types

Jump to:   A   B   C   D   F   H   I   L   M   O   P   R   S   T   U   W  
Index Entry  Section

A
abstract-class: Public classes
abstract-classes.lisp: The org․tfeb․hax/abstract-classes․lisp file

B
binding.lisp: The org․tfeb․hax/binding․lisp file

C
Class, abstract-class: Public classes
Class, final-class: Public classes
Class, singleton-class: Public classes
collecting.lisp: The org․tfeb․hax/collecting․lisp file
comment-form.lisp: The org․tfeb․hax/comment-form․lisp file
Condition, insane-state: Private conditions
Condition, log-entry: Public conditions
Condition, metatronic-arglist-warning: Private conditions
Condition, once-only-log-entry: Public conditions
Condition, simple-log-entry: Public conditions
Condition, stringtable-error: Private conditions
Condition, stringtable-reader-error: Private conditions
cs-forms.lisp: The org․tfeb․hax/cs-forms․lisp file

D
define-functions.lisp: The org․tfeb․hax/define-functions․lisp file
dynamic-state.lisp: The org․tfeb․hax/dynamic-state․lisp file

F
File, abstract-classes.lisp: The org․tfeb․hax/abstract-classes․lisp file
File, binding.lisp: The org․tfeb․hax/binding․lisp file
File, collecting.lisp: The org․tfeb․hax/collecting․lisp file
File, comment-form.lisp: The org․tfeb․hax/comment-form․lisp file
File, cs-forms.lisp: The org․tfeb․hax/cs-forms․lisp file
File, define-functions.lisp: The org․tfeb․hax/define-functions․lisp file
File, dynamic-state.lisp: The org․tfeb․hax/dynamic-state․lisp file
File, hax-cometh.lisp: The org․tfeb․hax/hax-cometh․lisp file
File, iterate.lisp: The org․tfeb․hax/iterate․lisp file
File, memoize.lisp: The org․tfeb․hax/memoize․lisp file
File, metatronic.lisp: The org․tfeb․hax/metatronic․lisp file
File, object-accessors.lisp: The org․tfeb․hax/object-accessors․lisp file
File, org.tfeb.hax.asd: The org․tfeb․hax/org․tfeb․hax․asd file
File, read-package.lisp: The org․tfeb․hax/read-package․lisp file
File, simple-loops.lisp: The org․tfeb․hax/simple-loops․lisp file
File, singleton-classes.lisp: The org․tfeb․hax/singleton-classes․lisp file
File, slog.lisp: The org․tfeb․hax/slog․lisp file
File, spam.lisp: The org․tfeb․hax/spam․lisp file
File, stringtable.lisp: The org․tfeb․hax/stringtable․lisp file
File, trace-macroexpand.lisp: The org․tfeb․hax/trace-macroexpand․lisp file
File, utilities.lisp: The org․tfeb․hax/utilities․lisp file
File, wrapping-standard.lisp: The org․tfeb․hax/wrapping-standard․lisp file
final-class: Public classes

H
hax-cometh.lisp: The org․tfeb․hax/hax-cometh․lisp file

I
insane-state: Private conditions
iterate.lisp: The org․tfeb․hax/iterate․lisp file

L
log-entry: Public conditions
log-file: Private structures

M
memoize.lisp: The org․tfeb․hax/memoize․lisp file
metatronic-arglist-warning: Private conditions
metatronic.lisp: The org․tfeb․hax/metatronic․lisp file

O
object-accessors.lisp: The org․tfeb․hax/object-accessors․lisp file
once-only-log-entry: Public conditions
org.tfeb.hax: The org․tfeb․hax system
org.tfeb.hax.abstract-classes: The org․tfeb․hax․abstract-classes package
org.tfeb.hax.asd: The org․tfeb․hax/org․tfeb․hax․asd file
org.tfeb.hax.binding: The org․tfeb․hax․binding package
org.tfeb.hax.collecting: The org․tfeb․hax․collecting package
org.tfeb.hax.comment-form: The org․tfeb․hax․comment-form package
org.tfeb.hax.cs-forms: The org․tfeb․hax․cs-forms package
org.tfeb.hax.define-functions: The org․tfeb․hax․define-functions package
org.tfeb.hax.dynamic-state: The org․tfeb․hax․dynamic-state package
org.tfeb.hax.iterate: The org․tfeb․hax․iterate package
org.tfeb.hax.memoize: The org․tfeb․hax․memoize package
org.tfeb.hax.metatronic: The org․tfeb․hax․metatronic package
org.tfeb.hax.object-accessors: The org․tfeb․hax․object-accessors package
org.tfeb.hax.read-package: The org․tfeb․hax․read-package package
org.tfeb.hax.simple-loops: The org․tfeb․hax․simple-loops package
org.tfeb.hax.singleton-classes: The org․tfeb․hax․singleton-classes package
org.tfeb.hax.slog: The org․tfeb․hax․slog package
org.tfeb.hax.spam: The org․tfeb․hax․spam package
org.tfeb.hax.stringtable: The org․tfeb․hax․stringtable package
org.tfeb.hax.trace-macroexpand: The org․tfeb․hax․trace-macroexpand package
org.tfeb.hax.utilities: The org․tfeb․hax․utilities package
org.tfeb.hax.wrapping-standard: The org․tfeb․hax․wrapping-standard package

P
Package, org.tfeb.hax.abstract-classes: The org․tfeb․hax․abstract-classes package
Package, org.tfeb.hax.binding: The org․tfeb․hax․binding package
Package, org.tfeb.hax.collecting: The org․tfeb․hax․collecting package
Package, org.tfeb.hax.comment-form: The org․tfeb․hax․comment-form package
Package, org.tfeb.hax.cs-forms: The org․tfeb․hax․cs-forms package
Package, org.tfeb.hax.define-functions: The org․tfeb․hax․define-functions package
Package, org.tfeb.hax.dynamic-state: The org․tfeb․hax․dynamic-state package
Package, org.tfeb.hax.iterate: The org․tfeb․hax․iterate package
Package, org.tfeb.hax.memoize: The org․tfeb․hax․memoize package
Package, org.tfeb.hax.metatronic: The org․tfeb․hax․metatronic package
Package, org.tfeb.hax.object-accessors: The org․tfeb․hax․object-accessors package
Package, org.tfeb.hax.read-package: The org․tfeb․hax․read-package package
Package, org.tfeb.hax.simple-loops: The org․tfeb․hax․simple-loops package
Package, org.tfeb.hax.singleton-classes: The org․tfeb․hax․singleton-classes package
Package, org.tfeb.hax.slog: The org․tfeb․hax․slog package
Package, org.tfeb.hax.spam: The org․tfeb․hax․spam package
Package, org.tfeb.hax.stringtable: The org․tfeb․hax․stringtable package
Package, org.tfeb.hax.trace-macroexpand: The org․tfeb․hax․trace-macroexpand package
Package, org.tfeb.hax.utilities: The org․tfeb․hax․utilities package
Package, org.tfeb.hax.wrapping-standard: The org․tfeb․hax․wrapping-standard package

R
read-package.lisp: The org․tfeb․hax/read-package․lisp file

S
simple-log-entry: Public conditions
simple-loops.lisp: The org․tfeb․hax/simple-loops․lisp file
singleton-class: Public classes
singleton-classes.lisp: The org․tfeb․hax/singleton-classes․lisp file
slog.lisp: The org․tfeb․hax/slog․lisp file
spam.lisp: The org․tfeb․hax/spam․lisp file
stringtable: Private structures
stringtable-error: Private conditions
stringtable-reader-error: Private conditions
stringtable.lisp: The org․tfeb․hax/stringtable․lisp file
Structure, log-file: Private structures
Structure, stringtable: Private structures
System, org.tfeb.hax: The org․tfeb․hax system

T
trace-macroexpand.lisp: The org․tfeb․hax/trace-macroexpand․lisp file

U
utilities.lisp: The org․tfeb․hax/utilities․lisp file

W
wrapping-standard.lisp: The org․tfeb․hax/wrapping-standard․lisp file