The agnostic-lizard Reference Manual

This is the agnostic-lizard Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 14:31:18 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 agnostic-lizard

A portable code walker that makes a best effort to be correct in most cases

Author

Michael Raskin <>

License

GPLv3+

Source

agnostic-lizard.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 agnostic-lizard/agnostic-lizard.asd

Source

agnostic-lizard.asd.

Parent Component

agnostic-lizard (system).

ASDF Systems

agnostic-lizard.


3.1.2 agnostic-lizard/package.lisp

Source

agnostic-lizard.asd.

Parent Component

agnostic-lizard (system).

Packages

agnostic-lizard.


3.1.3 agnostic-lizard/utils.lisp

Dependency

package.lisp (file).

Source

agnostic-lizard.asd.

Parent Component

agnostic-lizard (system).

Public Interface
Internals

3.1.4 agnostic-lizard/env-wrappers.lisp

Dependency

package.lisp (file).

Source

agnostic-lizard.asd.

Parent Component

agnostic-lizard (system).

Internals

3.1.5 agnostic-lizard/metaenv.lisp

Dependencies
Source

agnostic-lizard.asd.

Parent Component

agnostic-lizard (system).

Public Interface
Internals

3.1.6 agnostic-lizard/lexenv.lisp

Dependencies
Source

agnostic-lizard.asd.

Parent Component

agnostic-lizard (system).

Public Interface
Internals

environment-entries-for-name (function).


3.1.7 agnostic-lizard/pure-expansion.lisp

Dependencies
Source

agnostic-lizard.asd.

Parent Component

agnostic-lizard (system).

Public Interface
Internals

3.1.8 agnostic-lizard/special-form-handlers.lisp

Dependencies
Source

agnostic-lizard.asd.

Parent Component

agnostic-lizard (system).

Internals

3.1.9 agnostic-lizard/generic-walking.lisp

Dependencies
Source

agnostic-lizard.asd.

Parent Component

agnostic-lizard (system).

Public Interface

3.1.10 agnostic-lizard/macro-based-walking.lisp

Dependencies
Source

agnostic-lizard.asd.

Parent Component

agnostic-lizard (system).

Public Interface
Internals

3.1.11 agnostic-lizard/local-variables.lisp

Dependencies
Source

agnostic-lizard.asd.

Parent Component

agnostic-lizard (system).

Packages

agnostic-lizard-lexenv-wrapper.

Public Interface
Internals

3.1.12 agnostic-lizard/wrapping-reader.lisp

Dependency

package.lisp (file).

Source

agnostic-lizard.asd.

Parent Component

agnostic-lizard (system).

Public Interface

3.1.13 agnostic-lizard/debugger-hooks.lisp

Dependencies
Source

agnostic-lizard.asd.

Parent Component

agnostic-lizard (system).

Packages

agnostic-lizard-debugger-hooks.

Public Interface
Internals

3.2 Static


3.2.1 agnostic-lizard/README

Source

agnostic-lizard.asd.

Parent Component

agnostic-lizard (system).


3.2.2 agnostic-lizard/AUTHORS

Source

agnostic-lizard.asd.

Parent Component

agnostic-lizard (system).


3.2.3 agnostic-lizard/COPYING

Source

agnostic-lizard.asd.

Parent Component

agnostic-lizard (system).


3.2.4 agnostic-lizard/gpl-3.0.txt

Source

agnostic-lizard.asd.

Parent Component

agnostic-lizard (system).


3.2.5 agnostic-lizard/examples.lisp

Source

agnostic-lizard.asd.

Parent Component

agnostic-lizard (system).


4 Packages

Packages are listed by definition order.


4.1 agnostic-lizard-debugger-hooks

Source

debugger-hooks.lisp.

Use List
Public Interface
Internals

4.2 agnostic-lizard-lexenv-wrapper

Source

local-variables.lisp.

Use List
Public Interface
Internals

4.3 agnostic-lizard

Source

package.lisp.

Use List

common-lisp.

Used By List
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: *debugger-hooks-state*
Package

agnostic-lizard-debugger-hooks.

Source

debugger-hooks.lisp.

Special Variable: *local-debugger-hooks*
Package

agnostic-lizard-debugger-hooks.

Source

debugger-hooks.lisp.


5.1.2 Macros

Macro: locfunc (name &rest args)
Package

agnostic-lizard-lexenv-wrapper.

Source

local-variables.lisp.

Macro: locvar (name &optional value)
Package

agnostic-lizard-lexenv-wrapper.

Source

local-variables.lisp.

Macro: macro-macroexpand-all (form &rest handler-definitions &key on-every-form on-macro-walker-create-macro)

Produce code returning the full macroexpansion of the form in the current lexical environment.
Optionally, run handlers. :on-every-form will be run before quoting and wrapping in environment handling helpers.

Package

agnostic-lizard.

Source

macro-based-walking.lisp.

Macro: macro-walk-form (form &rest handler-definitions)

Walk the form inside the current lexical environment using the handlers from handler-definitions. See walk-form for details about handlers.
The resulting form after walking is returned as the macroexpansion.

Package

agnostic-lizard.

Source

macro-based-walking.lisp.

Macro: metaenv-macro-macroexpand-all (form &optional extra-env)

A helper macro for recapturing environment

Package

agnostic-lizard.

Source

macro-based-walking.lisp.

Macro: with-debugger-hook-calls (top-level-form &key lexenvp)
Package

agnostic-lizard-debugger-hooks.

Source

debugger-hooks.lisp.

Macro: with-local-debugger-hook ((name &key active callback class) &body body)
Package

agnostic-lizard-debugger-hooks.

Source

debugger-hooks.lisp.

Macro: with-saved-lexenvs (form)

Walk the form wrapping each expression into saving of the lexical environment

Package

agnostic-lizard-lexenv-wrapper.

Source

local-variables.lisp.

Macro: with-wrap-every-form-reader (callback &body body)

Execute body using a modified readtable so that every top-level form read by the reader is modified using the callback

Package

agnostic-lizard.

Source

wrapping-reader.lisp.

Macro: wrap-rest-of-input (callback)

Modify each top-level form in the rest of the current file with the callback

Package

agnostic-lizard.

Source

wrapping-reader.lisp.


5.1.3 Ordinary functions

Function: install-wrap-every-form-reader (callback)

Add an entry to the readtable that reads top-level forms normally, then applies the callback to each form

Package

agnostic-lizard.

Source

wrapping-reader.lisp.

Function: lexenv-cursor (&optional n rel)
Package

agnostic-lizard-lexenv-wrapper.

Source

local-variables.lisp.

Function: list-locfuncs (&optional n)
Package

agnostic-lizard-lexenv-wrapper.

Source

local-variables.lisp.

Function: list-locvars (&optional n)
Package

agnostic-lizard-lexenv-wrapper.

Source

local-variables.lisp.

Function: macroexpand-all (form &optional env &key names never-pass-fallback-env)

Recursively expand all macro calls in form with initial environment described by env

Package

agnostic-lizard.

Source

pure-expansion.lisp.

Function: metaenv-ensure-name-from-environment (metaenv name environment)
Package

agnostic-lizard.

Source

lexenv.lisp.

Function: metaenv-ensure-names-from-environment (metaenv names environment)
Package

agnostic-lizard.

Source

lexenv.lisp.

Function: metaenv-map-macroexpand-all (forms env)

Apply metaenv-macroexpand-all to all the forms using the same env

Package

agnostic-lizard.

Source

pure-expansion.lisp.

Function: pry (&key reason)

Launch an interactive debugging session

Package

agnostic-lizard-lexenv-wrapper.

Source

local-variables.lisp.

Function: separate-declarations (entries &key enable-docstring)

Separate a list of entries into declarations and forms, with a possible docstring, if enabled

Package

agnostic-lizard.

Source

utils.lisp.

Function: separate-function-definition-parts (form env)
Package

agnostic-lizard.

Source

utils.lisp.

Function: separate-lambda-expression-parts (form env)
Package

agnostic-lizard.

Source

utils.lisp.

Function: set-local-debugger-hook (name &rest args)
Package

agnostic-lizard-debugger-hooks.

Source

debugger-hooks.lisp.

Function: walk-form (form env &rest handler-definitions)

Walk the form inside the environment described by env using the handlers from handler-definitions.
Handlers get a form and a walker-metaenv environment description.
The return value of a handler is used instead of the form passed to the handler during further processing.

Handlers can be:
:on-every-form-pre — called before processing each form in an executable position
:on-macroexpanded-form — called for each form after macroexpanding its top operation; hardwired macros are passed unexpanded :on-special-form-pre — called before processing a special form or a hardwired macro
:on-function-form-pre — called before processing a function call
:on-special-form — called after processing a special form or a hardwired macro
:on-every-atom — called after processing a form expanded to an atom
:on-function-form — called after processing a function call
:on-every-form — called after expanding each form in an executable position

env can be metaenv or walker-metaenv

Package

agnostic-lizard.

Source

generic-walking.lisp.

Function: wrap-every-form-reader (callback normal-readtable)

Prepare a special reader for the readtable that reads every top-level form using normal-readtable, then applies the callback to the form

Package

agnostic-lizard.

Source

wrapping-reader.lisp.


5.1.4 Generic functions

Generic Reader: debugger-hooks-active (object)
Package

agnostic-lizard-debugger-hooks.

Methods
Reader Method: debugger-hooks-active ((debugger-hooks-state debugger-hooks-state))

automatically generated reader method

Source

debugger-hooks.lisp.

Target Slot

debugger-hooks-active.

Generic Writer: (setf debugger-hooks-active) (object)
Package

agnostic-lizard-debugger-hooks.

Methods
Writer Method: (setf debugger-hooks-active) ((debugger-hooks-state debugger-hooks-state))

automatically generated writer method

Source

debugger-hooks.lisp.

Target Slot

debugger-hooks-active.

Generic Reader: debugger-hooks-alias (object)
Package

agnostic-lizard-debugger-hooks.

Methods
Reader Method: debugger-hooks-alias ((debugger-hooks-state debugger-hooks-state))

automatically generated reader method

Source

debugger-hooks.lisp.

Target Slot

debugger-hooks-alias.

Generic Writer: (setf debugger-hooks-alias) (object)
Package

agnostic-lizard-debugger-hooks.

Methods
Writer Method: (setf debugger-hooks-alias) ((debugger-hooks-state debugger-hooks-state))

automatically generated writer method

Source

debugger-hooks.lisp.

Target Slot

debugger-hooks-alias.

Generic Function: debugger-hooks-assign (object &key active callback command)
Package

agnostic-lizard-debugger-hooks.

Source

debugger-hooks.lisp.

Methods
Method: debugger-hooks-assign ((object debugger-hooks-state) &key active callback command)
Generic Reader: debugger-hooks-callback (object)
Package

agnostic-lizard-debugger-hooks.

Methods
Reader Method: debugger-hooks-callback ((debugger-hooks-state debugger-hooks-state))

automatically generated reader method

Source

debugger-hooks.lisp.

Target Slot

debugger-hooks-callback.

Generic Writer: (setf debugger-hooks-callback) (object)
Package

agnostic-lizard-debugger-hooks.

Methods
Writer Method: (setf debugger-hooks-callback) ((debugger-hooks-state debugger-hooks-state))

automatically generated writer method

Source

debugger-hooks.lisp.

Target Slot

debugger-hooks-callback.

Generic Reader: debugger-hooks-command (object)
Package

agnostic-lizard-debugger-hooks.

Methods
Reader Method: debugger-hooks-command ((debugger-hooks-state debugger-hooks-state))

automatically generated reader method

Source

debugger-hooks.lisp.

Target Slot

debugger-hooks-command.

Generic Writer: (setf debugger-hooks-command) (object)
Package

agnostic-lizard-debugger-hooks.

Methods
Writer Method: (setf debugger-hooks-command) ((debugger-hooks-state debugger-hooks-state))

automatically generated writer method

Source

debugger-hooks.lisp.

Target Slot

debugger-hooks-command.

Generic Reader: function-information-arglist (object)
Package

agnostic-lizard.

Methods
Reader Method: function-information-arglist ((function-information function-information))

automatically generated reader method

Source

utils.lisp.

Target Slot

arglist.

Generic Writer: (setf function-information-arglist) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf function-information-arglist) ((function-information function-information))

automatically generated writer method

Source

utils.lisp.

Target Slot

arglist.

Generic Reader: function-information-body (object)
Package

agnostic-lizard.

Methods
Reader Method: function-information-body ((function-information function-information))

automatically generated reader method

Source

utils.lisp.

Target Slot

body.

Generic Writer: (setf function-information-body) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf function-information-body) ((function-information function-information))

automatically generated writer method

Source

utils.lisp.

Target Slot

body.

Generic Reader: function-information-declarations (object)
Package

agnostic-lizard.

Methods
Reader Method: function-information-declarations ((function-information function-information))

automatically generated reader method

Source

utils.lisp.

Target Slot

declarations.

Generic Writer: (setf function-information-declarations) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf function-information-declarations) ((function-information function-information))

automatically generated writer method

Source

utils.lisp.

Target Slot

declarations.

Generic Reader: function-information-name (object)
Package

agnostic-lizard.

Methods
Reader Method: function-information-name ((function-information function-information))

automatically generated reader method

Source

utils.lisp.

Target Slot

name.

Generic Writer: (setf function-information-name) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf function-information-name) ((function-information function-information))

automatically generated writer method

Source

utils.lisp.

Target Slot

name.

Generic Reader: function-information-named (object)
Package

agnostic-lizard.

Methods
Reader Method: function-information-named ((function-information function-information))

automatically generated reader method

Source

utils.lisp.

Target Slot

named.

Generic Writer: (setf function-information-named) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf function-information-named) ((function-information function-information))

automatically generated writer method

Source

utils.lisp.

Target Slot

named.

Generic Reader: function-information-qualifiers (object)
Package

agnostic-lizard.

Methods
Reader Method: function-information-qualifiers ((function-information function-information))

automatically generated reader method

Source

utils.lisp.

Target Slot

qualifiers.

Generic Writer: (setf function-information-qualifiers) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf function-information-qualifiers) ((function-information function-information))

automatically generated writer method

Source

utils.lisp.

Target Slot

qualifiers.

Generic Function: metaenv-blocks (obj)

Query the list of defined blocks from a metaenv object

Package

agnostic-lizard.

Source

metaenv.lisp.

Methods
Reader Method: metaenv-blocks ((metaenv metaenv))

automatically generated reader method

Target Slot

blocks.

Method: metaenv-blocks (obj)
Generic Writer: (setf metaenv-blocks) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf metaenv-blocks) ((metaenv metaenv))

automatically generated writer method

Source

metaenv.lisp.

Target Slot

blocks.

Generic Function: metaenv-clone (obj &optional overrides)

Create a copy of a metaenv-related object

Package

agnostic-lizard.

Source

metaenv.lisp.

Methods
Method: metaenv-clone ((obj debugger-hook-walker-env) &optional overrides)
Source

debugger-hooks.lisp.

Method: metaenv-clone ((obj metaenv) &optional overrides)
Generic Function: metaenv-clone-args (obj)

The needed initargs for copying a metaenv-related object

Package

agnostic-lizard.

Source

metaenv.lisp.

Methods
Method: metaenv-clone-args ((env debugger-hook-walker-env))
Source

debugger-hooks.lisp.

Method: metaenv-clone-args :around ((obj macro-walker-metaenv))
Method: metaenv-clone-args :around ((obj walker-metaenv))
Method: metaenv-clone-args ((obj metaenv))
Generic Function: metaenv-function-like-entries (obj)

Query the list of function-like entries from a metaenv object

Package

agnostic-lizard.

Source

metaenv.lisp.

Methods
Reader Method: metaenv-function-like-entries ((metaenv metaenv))

automatically generated reader method

Target Slot

function-like.

Method: metaenv-function-like-entries (obj)
Generic Writer: (setf metaenv-function-like-entries) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf metaenv-function-like-entries) ((metaenv metaenv))

automatically generated writer method

Source

metaenv.lisp.

Target Slot

function-like.

Generic Function: metaenv-macroexpand-all (form env)

Expand all macros on all levels of form in the environment env

Package

agnostic-lizard.

Source

pure-expansion.lisp.

Methods
Method: metaenv-macroexpand-all (form (env debugger-hook-walker-env))
Source

debugger-hooks.lisp.

Method: metaenv-macroexpand-all :around (form (env macro-walker-metaenv))
Source

macro-based-walking.lisp.

Method: metaenv-macroexpand-all (form (env walker-metaenv))
Source

generic-walking.lisp.

Method: metaenv-macroexpand-all (form (env metaenv))
Method: metaenv-macroexpand-all (form (env (eql nil)))
Generic Function: metaenv-tags (obj)

Query the list of defined tags from a metaenv object

Package

agnostic-lizard.

Source

metaenv.lisp.

Methods
Reader Method: metaenv-tags ((metaenv metaenv))

automatically generated reader method

Target Slot

tags.

Method: metaenv-tags (obj)
Generic Writer: (setf metaenv-tags) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf metaenv-tags) ((metaenv metaenv))

automatically generated writer method

Source

metaenv.lisp.

Target Slot

tags.

Generic Function: metaenv-toplevel (obj)

Query if a metaenv object represents toplevel environment

Package

agnostic-lizard.

Source

metaenv.lisp.

Methods
Reader Method: metaenv-toplevel ((metaenv metaenv))

automatically generated reader method

Target Slot

toplevel.

Method: metaenv-toplevel (obj)
Generic Writer: (setf metaenv-toplevel) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf metaenv-toplevel) ((metaenv metaenv))

automatically generated writer method

Source

metaenv.lisp.

Target Slot

toplevel.

Generic Function: metaenv-variable-like-entries (obj)

Query the list of variable-like entries from a metaenv object

Package

agnostic-lizard.

Source

metaenv.lisp.

Methods
Reader Method: metaenv-variable-like-entries ((metaenv metaenv))

automatically generated reader method

Target Slot

variable-like.

Method: metaenv-variable-like-entries (obj)
Generic Writer: (setf metaenv-variable-like-entries) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf metaenv-variable-like-entries) ((metaenv metaenv))

automatically generated writer method

Source

metaenv.lisp.

Target Slot

variable-like.


5.1.5 Standalone methods

Method: print-object ((object debugger-hook-walker-env) stream)
Source

debugger-hooks.lisp.

Method: print-object ((obj metaenv) stream)
Source

metaenv.lisp.


5.1.6 Classes

Class: debugger-hooks-state
Package

agnostic-lizard-debugger-hooks.

Source

debugger-hooks.lisp.

Direct methods
Direct slots
Slot: debugger-hooks-active
Initargs

:active

Readers

debugger-hooks-active.

Writers

(setf debugger-hooks-active).

Slot: debugger-hooks-callback
Initargs

:callback

Readers

debugger-hooks-callback.

Writers

(setf debugger-hooks-callback).

Slot: debugger-hooks-alias
Initargs

:alias

Readers

debugger-hooks-alias.

Writers

(setf debugger-hooks-alias).

Slot: debugger-hooks-command
Initargs

:command

Readers

debugger-hooks-command.

Writers

(setf debugger-hooks-command).

Class: function-information
Package

agnostic-lizard.

Source

utils.lisp.

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

function-information-name.

Writers

(setf function-information-name).

Slot: named
Initargs

:named

Readers

function-information-named.

Writers

(setf function-information-named).

Slot: qualifiers
Initargs

:qualifiers

Readers

function-information-qualifiers.

Writers

(setf function-information-qualifiers).

Slot: arglist
Initargs

:arglist

Readers

function-information-arglist.

Writers

(setf function-information-arglist).

Slot: declarations
Initargs

:declarations

Readers

function-information-declarations.

Writers

(setf function-information-declarations).

Slot: body
Initargs

:body

Readers

function-information-body.

Writers

(setf function-information-body).

Class: macro-walker-metaenv

A version of walker-metaenv that can store additional information for expanding to a form with macro calls. This approach allows to use Common Lisp implementation’s own handling of environment.
We still keep track of environment just for portable access to the list of discovered lexical environment entries.

Package

agnostic-lizard.

Source

metaenv.lisp.

Direct superclasses

walker-metaenv.

Direct methods
Direct slots
Slot: create-macro

Whether to do expansion or just create a macro call that will be able to get proper environment

Initform

t

Initargs

:create-macro

Readers

metaenv-create-macro.

Writers

(setf metaenv-create-macro).

Slot: recursive-label

A label to distinguish the forms freshly created in relation to the current environment.

Initform

(gensym)

Initargs

:recursive-label

Readers

metaenv-recursive-label.

Writers

(setf metaenv-recursive-label).

Slot: on-macro-walker-create-macro

A handler invoked when macro-walker creates a new macro

Initform

(quote values)

Initargs

:on-macro-walker-create-macro

Readers

metaenv-on-macro-walker-create-macro.

Writers

(setf metaenv-on-macro-walker-create-macro).

Class: metaenv

The basic object holding the lexical environment data for macroexpansion

Package

agnostic-lizard.

Source

metaenv.lisp.

Direct subclasses

walker-metaenv.

Direct methods
Direct slots
Slot: function-like
Initargs

:fn, :fun, :func, :function-like

Readers

metaenv-function-like-entries.

Writers

(setf metaenv-function-like-entries).

Slot: variable-like
Initargs

:var, :variable-like

Readers

metaenv-variable-like-entries.

Writers

(setf metaenv-variable-like-entries).

Slot: blocks
Initargs

:block, :blocks

Readers

metaenv-blocks.

Writers

(setf metaenv-blocks).

Slot: tags
Initargs

:tag, :tags

Readers

metaenv-tags.

Writers

(setf metaenv-tags).

Slot: toplevel
Initargs

:toplevel

Readers

metaenv-toplevel.

Writers

(setf metaenv-toplevel).

Slot: fallback-env

A slot for storing environment obtained via an &environment parameter

Initargs

:env, :fallback-env

Readers

metaenv-fallback-env.

Writers

(setf metaenv-fallback-env).

Slot: never-pass-fallback-env

A slot storing the policy switch for never passing the fallback env to macroexpand-1

Initargs

:never-pass-fallback-env

Readers

metaenv-never-pass-fallback-env.

Writers

(setf metaenv-never-pass-fallback-env).

Class: walker-metaenv

An extended walker environment object.
Here we keep a few handlers to allow transformations of the code during walking.

Package

agnostic-lizard.

Source

metaenv.lisp.

Direct superclasses

metaenv.

Direct subclasses
Direct methods
Direct slots
Slot: on-function-form
Initform

(function values)

Initargs

:on-function-form

Readers

metaenv-on-function-form.

Writers

(setf metaenv-on-function-form).

Slot: on-function-form-pre
Initform

(function values)

Initargs

:on-function-form-pre

Readers

metaenv-on-function-form-pre.

Writers

(setf metaenv-on-function-form-pre).

Slot: on-every-atom
Initform

(function values)

Initargs

:on-every-atom

Readers

metaenv-on-every-atom.

Writers

(setf metaenv-on-every-atom).

Slot: on-every-form
Initform

(function values)

Initargs

:on-every-form

Readers

metaenv-on-every-form.

Writers

(setf metaenv-on-every-form).

Slot: on-every-form-pre
Initform

(function values)

Initargs

:on-every-form-pre

Readers

metaenv-on-every-form-pre.

Writers

(setf metaenv-on-every-form-pre).

Slot: on-special-form-pre
Initform

(function values)

Initargs

:on-special-form-pre

Readers

metaenv-on-special-form-pre.

Writers

(setf metaenv-on-special-form-pre).

Slot: on-special-form
Initform

(function values)

Initargs

:on-special-form

Readers

metaenv-on-special-form.

Writers

(setf metaenv-on-special-form).

Slot: on-macroexpanded-form
Initform

(function values)

Initargs

:on-macroexpanded-form

Readers

metaenv-on-macroexpanded-form.

Writers

(setf metaenv-on-macroexpanded-form).


5.2 Internals


5.2.1 Special variables

Special Variable: *hardwired-operators*

The list of hardwired macros; they are code-walked without macroexpansion

Package

agnostic-lizard.

Source

pure-expansion.lisp.

Special Variable: *marker-counter*
Package

agnostic-lizard-debugger-hooks.

Source

debugger-hooks.lisp.

Special Variable: *saved-lexenv-cursor*

The current position on the lexenv stack

Package

agnostic-lizard-lexenv-wrapper.

Source

local-variables.lisp.

Special Variable: *saved-lexenvs*

A stack of saved lexical environments

Package

agnostic-lizard-lexenv-wrapper.

Source

local-variables.lisp.


5.2.2 Macros

Macro: define-handle-nfunction ()
Package

agnostic-lizard.

Source

special-form-handlers.lisp.

Macro: eval-with-current-environment ((var) &body code)

Evaluate code in a lexical environment where var is bound to the lexical environment object corresponding to the macro call position

Package

agnostic-lizard.

Source

utils.lisp.

Macro: metaenv-macro-macroexpand-all-wrapper (form env)

This wrapper does nothing but protects form from metaenv-macro-walker-turn-to-quoted

Package

agnostic-lizard.

Source

macro-based-walking.lisp.


5.2.3 Ordinary functions

Function: debugger-hook-call (&key form env position result marker function expanded-form)
Package

agnostic-lizard-debugger-hooks.

Source

debugger-hooks.lisp.

Function: debugger-hook-walker-replace-form (form env expanded-form)
Package

agnostic-lizard-debugger-hooks.

Source

debugger-hooks.lisp.

Function: default-debugger-hook-callback (&key result)
Package

agnostic-lizard-debugger-hooks.

Source

debugger-hooks.lisp.

Function: environment-entries-for-name (name environment)

Create metaenv entries corresponding to environment for name.

Returns a list: variable-like entry, function-like entry.

Package

agnostic-lizard.

Source

lexenv.lisp.

Function: flet-wrap (name body)

Wrap a chunk of code with a pseudo-flet;
it is for macroexpansion only, so there is no body

Package

agnostic-lizard.

Source

env-wrappers.lisp.

Function: go-tag-p (x)
Package

agnostic-lizard.

Source

utils.lisp.

Function: lambda-list-variable-names (l)
Package

agnostic-lizard.

Source

utils.lisp.

Function: let-wrap (name body)

Wrap a chunk of code with a pseudo-let;
it is for macroexpansion only, so there is no body;
some globals don’t like to ever be bound to nil, so try a global value first

Package

agnostic-lizard.

Source

env-wrappers.lisp.

Function: macrolet-code-wrap (name code body)

Wrap a chunk of code with a macrolet given a literal macrolet definition

Package

agnostic-lizard.

Source

env-wrappers.lisp.

Function: macrolet-wrap (name function body)

Wrap a chunk of code with a macrolet defined by a macro-function

Package

agnostic-lizard.

Source

env-wrappers.lisp.

Function: metaenv-irrelevant-for-macroexpand (obj)

Check if the metaenv obj is the same as the fallback environment for macroexpand-1

Package

agnostic-lizard.

Source

metaenv.lisp.

Function: metaenv-macro-walker-turn-to-quoted (form env &optional cdr-branch)

Convert a partially walked form into code producing the expansion of the form after the walk is completed

Package

agnostic-lizard.

Source

macro-based-walking.lisp.

Function: metaenv-macroexpand (form env)

Perform full macroexpansion of the top level of the form in the environment env

Package

agnostic-lizard.

Source

pure-expansion.lisp.

Function: metaenv-map-macroexpand-all-after-declarations (entries env enable-docstring)

Apply metaenv-map-macroexpand-all to all the forms among the entries, but use the declarations as-is

Package

agnostic-lizard.

Source

pure-expansion.lisp.

Function: symbol-macrolet-wrap (name expansion body)

Wrap a chunk of code with a symbol-macrolet

Package

agnostic-lizard.

Source

env-wrappers.lisp.

Function: with-metaenv-built-env (obj var code)

Evaluate code in the lexical environment where var is bound to the lexical environment object described by obj

Package

agnostic-lizard.

Source

metaenv.lisp.

Function: wrap-block-env (entries form)

Wrap a form to make sure all the blocks listed in entries are defined

Package

agnostic-lizard.

Source

env-wrappers.lisp.

Function: wrap-function-like-env (entries form)

Wrap a form using the function-like entries.
An entry can be:
(name nil) — not defined in this environment
(name (:plain)) — an flet
(name (:macro macro-function)) — a macrolet, defined by a macro-function
(name (:macro-from environment)) — a macrolet that should be copied from an environment object (name (:macro-code)) — a macrolet, defined by literal macrolet code
(name (:macro-function-code)) — a macrolet, defined by the code to define the macro-function

Package

agnostic-lizard.

Source

env-wrappers.lisp.

Function: wrap-tag-env (entries form)

Wrap a form to make sure all the tags listed in entries are defined

Package

agnostic-lizard.

Source

env-wrappers.lisp.

Function: wrap-variable-like-env (entries form)

Wrap a form using variable-like entries.
An entry can be:
(name nil) — not defined in this environment
(name (:plain)) — a let
(name (:macro expansion)) — a symbol-macro, defined by the expansion
(name (:macro-from environment)) — a symbol-macro to be copied from an environment

Package

agnostic-lizard.

Source

env-wrappers.lisp.


5.2.4 Generic functions

Generic Reader: debugger-hook-walker-function-marker (object)
Package

agnostic-lizard-debugger-hooks.

Methods
Reader Method: debugger-hook-walker-function-marker ((debugger-hook-walker-env debugger-hook-walker-env))

automatically generated reader method

Source

debugger-hooks.lisp.

Target Slot

function-marker.

Generic Writer: (setf debugger-hook-walker-function-marker) (object)
Package

agnostic-lizard-debugger-hooks.

Methods
Writer Method: (setf debugger-hook-walker-function-marker) ((debugger-hook-walker-env debugger-hook-walker-env))

automatically generated writer method

Source

debugger-hooks.lisp.

Target Slot

function-marker.

Generic Reader: debugger-hook-walker-lexenv-p (object)
Package

agnostic-lizard-debugger-hooks.

Methods
Reader Method: debugger-hook-walker-lexenv-p ((debugger-hook-walker-env debugger-hook-walker-env))

automatically generated reader method

Source

debugger-hooks.lisp.

Target Slot

lexenvp.

Generic Writer: (setf debugger-hook-walker-lexenv-p) (object)
Package

agnostic-lizard-debugger-hooks.

Methods
Writer Method: (setf debugger-hook-walker-lexenv-p) ((debugger-hook-walker-env debugger-hook-walker-env))

automatically generated writer method

Source

debugger-hooks.lisp.

Target Slot

lexenvp.

Generic Reader: debugger-hook-walker-pending-functions (object)
Package

agnostic-lizard-debugger-hooks.

Methods
Reader Method: debugger-hook-walker-pending-functions ((debugger-hook-walker-env debugger-hook-walker-env))

automatically generated reader method

Source

debugger-hooks.lisp.

Target Slot

pending-functions.

Generic Writer: (setf debugger-hook-walker-pending-functions) (object)
Package

agnostic-lizard-debugger-hooks.

Methods
Writer Method: (setf debugger-hook-walker-pending-functions) ((debugger-hook-walker-env debugger-hook-walker-env))

automatically generated writer method

Source

debugger-hooks.lisp.

Target Slot

pending-functions.

Generic Reader: debugger-hook-walker-pending-variables (object)
Package

agnostic-lizard-debugger-hooks.

Methods
Reader Method: debugger-hook-walker-pending-variables ((debugger-hook-walker-env debugger-hook-walker-env))

automatically generated reader method

Source

debugger-hooks.lisp.

Target Slot

pending-variables.

Generic Writer: (setf debugger-hook-walker-pending-variables) (object)
Package

agnostic-lizard-debugger-hooks.

Methods
Writer Method: (setf debugger-hook-walker-pending-variables) ((debugger-hook-walker-env debugger-hook-walker-env))

automatically generated writer method

Source

debugger-hooks.lisp.

Target Slot

pending-variables.

Generic Reader: debugger-hook-walker-result-var (object)
Package

agnostic-lizard-debugger-hooks.

Methods
Reader Method: debugger-hook-walker-result-var ((debugger-hook-walker-env debugger-hook-walker-env))

automatically generated reader method

Source

debugger-hooks.lisp.

Target Slot

result-var.

Generic Writer: (setf debugger-hook-walker-result-var) (object)
Package

agnostic-lizard-debugger-hooks.

Methods
Writer Method: (setf debugger-hook-walker-result-var) ((debugger-hook-walker-env debugger-hook-walker-env))

automatically generated writer method

Source

debugger-hooks.lisp.

Target Slot

result-var.

Generic Function: metaenv-add-block (obj name)

Add a block into the metaenv object.

Package

agnostic-lizard.

Source

metaenv.lisp.

Methods
Method: metaenv-add-block ((obj metaenv) name)
Method: metaenv-add-block (obj name)
Generic Function: metaenv-add-function-like-entry (obj entry)

Add a function-like entry into the metaenv object.
The entry should follow the format described in wrap-function-like-env. The entry will shadow previously available entries with the same name.

Package

agnostic-lizard.

Source

metaenv.lisp.

Methods
Method: metaenv-add-function-like-entry ((obj debugger-hook-walker-env) entry)
Source

debugger-hooks.lisp.

Method: metaenv-add-function-like-entry ((obj metaenv) entry)
Method: metaenv-add-function-like-entry (obj entry)
Generic Function: metaenv-add-tag (obj name)

Add a tag into the metaenv object.

Package

agnostic-lizard.

Source

metaenv.lisp.

Methods
Method: metaenv-add-tag ((obj metaenv) name)
Method: metaenv-add-tag (obj name)
Generic Function: metaenv-add-variable-like-entry (obj entry)

Add a variable-like entry into the metaenv object.
The entry should follow the format described in wrap-variable-like-env. The entry will shadow previously available entries with the same name.

Package

agnostic-lizard.

Source

metaenv.lisp.

Methods
Method: metaenv-add-variable-like-entry ((obj debugger-hook-walker-env) entry)
Source

debugger-hooks.lisp.

Method: metaenv-add-variable-like-entry ((obj metaenv) entry)
Method: metaenv-add-variable-like-entry (obj entry)
Generic Reader: metaenv-create-macro (object)
Generic Writer: (setf metaenv-create-macro) (object)
Package

agnostic-lizard.

Methods
Reader Method: metaenv-create-macro ((macro-walker-metaenv macro-walker-metaenv))
Writer Method: (setf metaenv-create-macro) ((macro-walker-metaenv macro-walker-metaenv))

Whether to do expansion or just create a macro call that will be able to get proper environment

Source

metaenv.lisp.

Target Slot

create-macro.

Generic Function: metaenv-expand-lambda-expression (designator env)

Expand a lambda expression or a named-lambda expression

Package

agnostic-lizard.

Source

special-form-handlers.lisp.

Methods
Method: metaenv-expand-lambda-expression (designator (env debugger-hook-walker-env))
Source

debugger-hooks.lisp.

Method: metaenv-expand-lambda-expression (designator env)
Generic Function: metaenv-fallback-env (obj)

Query the fallback environment object from a metaenv object

Package

agnostic-lizard.

Source

metaenv.lisp.

Methods
Reader Method: metaenv-fallback-env ((metaenv metaenv))

A slot for storing environment obtained via an &environment parameter

Target Slot

fallback-env.

Method: metaenv-fallback-env (obj)
Generic Writer: (setf metaenv-fallback-env) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf metaenv-fallback-env) ((metaenv metaenv))

A slot for storing environment obtained via an &environment parameter

Source

metaenv.lisp.

Target Slot

fallback-env.

Generic Function: metaenv-macroexpand-1 (form env)

Do a single step of macroexpansion on the top level of form in the environment env

Package

agnostic-lizard.

Source

pure-expansion.lisp.

Methods
Method: metaenv-macroexpand-1 (form (env macro-walker-metaenv))
Source

macro-based-walking.lisp.

Method: metaenv-macroexpand-1 (x env)
Generic Function: metaenv-macroexpand-all-special-form (operator form env)

A handler for dispatching macroexpand-all handling of special forms and some macros

Package

agnostic-lizard.

Source

pure-expansion.lisp.

Methods
Method: metaenv-macroexpand-all-special-form ((operator (eql cond)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql multiple-value-bind)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql handler-bind)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql labels)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql defmethod)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql defun)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql defmacro)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql flet)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql symbol-macrolet)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql macrolet)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql progv)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql load-time-value)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql locally)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql function)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql eval-when)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql the)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql return-from)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql go)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql quote)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql unwind-protect)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql multiple-value-call)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql multiple-value-prog1)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql catch)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql throw)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql progn)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql if)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql tagbody)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql setq)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql let*)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql let)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form ((operator (eql block)) form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form (operator form env)
Source

special-form-handlers.lisp.

Method: metaenv-macroexpand-all-special-form (operator form (env (eql nil)))
Generic Function: metaenv-macroexpand-all-special-form-defun (operator form env)

Expand a form that is similar to defun

Package

agnostic-lizard.

Source

special-form-handlers.lisp.

Methods
Method: metaenv-macroexpand-all-special-form-defun (operator form (env debugger-hook-walker-env))
Source

debugger-hooks.lisp.

Method: metaenv-macroexpand-all-special-form-defun (operator form env)
Generic Function: metaenv-macroexpand-all-special-form-flet (operator form env)

Expand a form similar to flet

Package

agnostic-lizard.

Source

special-form-handlers.lisp.

Methods
Method: metaenv-macroexpand-all-special-form-flet (operator form env)
Generic Function: metaenv-macroexpand-all-special-form-function (operator form env)

Expand a form similar to function

Package

agnostic-lizard.

Source

special-form-handlers.lisp.

Methods
Method: metaenv-macroexpand-all-special-form-function (operator form env)
Generic Function: metaenv-macroexpand-all-special-form-let (operator form env)

Expand a form that is similar to let

Package

agnostic-lizard.

Source

special-form-handlers.lisp.

Methods
Method: metaenv-macroexpand-all-special-form-let (operator form env)
Generic Function: metaenv-macroexpand-all-special-form-macrolet (operator form env)

Expand a form similar to macrolet

Package

agnostic-lizard.

Source

special-form-handlers.lisp.

Methods
Method: metaenv-macroexpand-all-special-form-macrolet (operator form env)
Generic Function: metaenv-macroexpand-all-special-form-progn (operator form env)

Expand a form similar to a funcall or to a progn

Package

agnostic-lizard.

Source

special-form-handlers.lisp.

Methods
Method: metaenv-macroexpand-all-special-form-progn (operator form env)
Generic Function: metaenv-macroexpand-all-special-form-the (operator form env)

Expand a special form similar to the

Package

agnostic-lizard.

Source

special-form-handlers.lisp.

Methods
Method: metaenv-macroexpand-all-special-form-the (operator form env)
Generic Function: metaenv-macroexpand-lambdalist (entries env self-visible wait-for-keyword)

Macroexpand assignments/default values in entries and destructively add the names to env

Package

agnostic-lizard.

Source

special-form-handlers.lisp.

Methods
Method: metaenv-macroexpand-lambdalist ((entries list) env self-visible wait-for-keyword)
Generic Function: metaenv-never-pass-fallback-env (obj)

Query whether the fallback environment object should never be passed to macroexpand-1

Package

agnostic-lizard.

Source

metaenv.lisp.

Methods
Reader Method: metaenv-never-pass-fallback-env ((metaenv metaenv))

A slot storing the policy switch for never passing the fallback env to macroexpand-1

Target Slot

never-pass-fallback-env.

Method: metaenv-never-pass-fallback-env (obj)
Generic Writer: (setf metaenv-never-pass-fallback-env) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf metaenv-never-pass-fallback-env) ((metaenv metaenv))

A slot storing the policy switch for never passing the fallback env to macroexpand-1

Source

metaenv.lisp.

Target Slot

never-pass-fallback-env.

Generic Reader: metaenv-on-every-atom (object)
Package

agnostic-lizard.

Methods
Reader Method: metaenv-on-every-atom ((walker-metaenv walker-metaenv))

automatically generated reader method

Source

metaenv.lisp.

Target Slot

on-every-atom.

Generic Writer: (setf metaenv-on-every-atom) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf metaenv-on-every-atom) ((walker-metaenv walker-metaenv))

automatically generated writer method

Source

metaenv.lisp.

Target Slot

on-every-atom.

Generic Reader: metaenv-on-every-form (object)
Package

agnostic-lizard.

Methods
Reader Method: metaenv-on-every-form ((walker-metaenv walker-metaenv))

automatically generated reader method

Source

metaenv.lisp.

Target Slot

on-every-form.

Generic Writer: (setf metaenv-on-every-form) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf metaenv-on-every-form) ((walker-metaenv walker-metaenv))

automatically generated writer method

Source

metaenv.lisp.

Target Slot

on-every-form.

Generic Reader: metaenv-on-every-form-pre (object)
Package

agnostic-lizard.

Methods
Reader Method: metaenv-on-every-form-pre ((walker-metaenv walker-metaenv))

automatically generated reader method

Source

metaenv.lisp.

Target Slot

on-every-form-pre.

Generic Writer: (setf metaenv-on-every-form-pre) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf metaenv-on-every-form-pre) ((walker-metaenv walker-metaenv))

automatically generated writer method

Source

metaenv.lisp.

Target Slot

on-every-form-pre.

Generic Reader: metaenv-on-function-form (object)
Package

agnostic-lizard.

Methods
Reader Method: metaenv-on-function-form ((walker-metaenv walker-metaenv))

automatically generated reader method

Source

metaenv.lisp.

Target Slot

on-function-form.

Generic Writer: (setf metaenv-on-function-form) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf metaenv-on-function-form) ((walker-metaenv walker-metaenv))

automatically generated writer method

Source

metaenv.lisp.

Target Slot

on-function-form.

Generic Reader: metaenv-on-function-form-pre (object)
Package

agnostic-lizard.

Methods
Reader Method: metaenv-on-function-form-pre ((walker-metaenv walker-metaenv))

automatically generated reader method

Source

metaenv.lisp.

Target Slot

on-function-form-pre.

Generic Writer: (setf metaenv-on-function-form-pre) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf metaenv-on-function-form-pre) ((walker-metaenv walker-metaenv))

automatically generated writer method

Source

metaenv.lisp.

Target Slot

on-function-form-pre.

Generic Reader: metaenv-on-macro-walker-create-macro (object)
Generic Writer: (setf metaenv-on-macro-walker-create-macro) (object)
Package

agnostic-lizard.

Methods
Reader Method: metaenv-on-macro-walker-create-macro ((macro-walker-metaenv macro-walker-metaenv))
Writer Method: (setf metaenv-on-macro-walker-create-macro) ((macro-walker-metaenv macro-walker-metaenv))

A handler invoked when macro-walker creates a new macro

Source

metaenv.lisp.

Target Slot

on-macro-walker-create-macro.

Generic Reader: metaenv-on-macroexpanded-form (object)
Package

agnostic-lizard.

Methods
Reader Method: metaenv-on-macroexpanded-form ((walker-metaenv walker-metaenv))

automatically generated reader method

Source

metaenv.lisp.

Target Slot

on-macroexpanded-form.

Generic Writer: (setf metaenv-on-macroexpanded-form) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf metaenv-on-macroexpanded-form) ((walker-metaenv walker-metaenv))

automatically generated writer method

Source

metaenv.lisp.

Target Slot

on-macroexpanded-form.

Generic Reader: metaenv-on-special-form (object)
Package

agnostic-lizard.

Methods
Reader Method: metaenv-on-special-form ((walker-metaenv walker-metaenv))

automatically generated reader method

Source

metaenv.lisp.

Target Slot

on-special-form.

Generic Writer: (setf metaenv-on-special-form) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf metaenv-on-special-form) ((walker-metaenv walker-metaenv))

automatically generated writer method

Source

metaenv.lisp.

Target Slot

on-special-form.

Generic Reader: metaenv-on-special-form-pre (object)
Package

agnostic-lizard.

Methods
Reader Method: metaenv-on-special-form-pre ((walker-metaenv walker-metaenv))

automatically generated reader method

Source

metaenv.lisp.

Target Slot

on-special-form-pre.

Generic Writer: (setf metaenv-on-special-form-pre) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf metaenv-on-special-form-pre) ((walker-metaenv walker-metaenv))

automatically generated writer method

Source

metaenv.lisp.

Target Slot

on-special-form-pre.

Generic Function: metaenv-recursive-label (object)
Package

agnostic-lizard.

Methods
Method: metaenv-recursive-label (obj)
Source

metaenv.lisp.

Reader Method: metaenv-recursive-label ((macro-walker-metaenv macro-walker-metaenv))

A label to distinguish the forms freshly created in relation to the current environment.

Source

metaenv.lisp.

Target Slot

recursive-label.

Generic Writer: (setf metaenv-recursive-label) (object)
Package

agnostic-lizard.

Methods
Writer Method: (setf metaenv-recursive-label) ((macro-walker-metaenv macro-walker-metaenv))

A label to distinguish the forms freshly created in relation to the current environment.

Source

metaenv.lisp.

Target Slot

recursive-label.

Generic Function: metaenv-wrap-form (obj form)

Wrap the form into environment-setting wrappers corresponding to all the entries of obj.

Package

agnostic-lizard.

Source

metaenv.lisp.

Methods
Method: metaenv-wrap-form ((obj debugger-hook-walker-env) form)
Source

debugger-hooks.lisp.

Method: metaenv-wrap-form ((obj metaenv) form)

5.2.5 Classes

Class: debugger-hook-walker-env
Package

agnostic-lizard-debugger-hooks.

Source

debugger-hooks.lisp.

Direct superclasses

walker-metaenv.

Direct methods
Direct slots
Slot: lexenvp
Initform

t

Initargs

:lexenvp

Readers

debugger-hook-walker-lexenv-p.

Writers

(setf debugger-hook-walker-lexenv-p).

Slot: result-var
Initform

(gensym)

Initargs

:result-var

Readers

debugger-hook-walker-result-var.

Writers

(setf debugger-hook-walker-result-var).

Slot: function-marker
Initargs

:function-marker

Readers

debugger-hook-walker-function-marker.

Writers

(setf debugger-hook-walker-function-marker).

Slot: pending-variables
Initargs

:pending-variables

Readers

debugger-hook-walker-pending-variables.

Writers

(setf debugger-hook-walker-pending-variables).

Slot: pending-functions
Initargs

:pending-functions

Readers

debugger-hook-walker-pending-functions.

Writers

(setf debugger-hook-walker-pending-functions).


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
D   E   F   G   I   L   M   P   S   W  
Index Entry  Section

(
(setf debugger-hook-walker-function-marker): Private generic functions
(setf debugger-hook-walker-function-marker): Private generic functions
(setf debugger-hook-walker-lexenv-p): Private generic functions
(setf debugger-hook-walker-lexenv-p): Private generic functions
(setf debugger-hook-walker-pending-functions): Private generic functions
(setf debugger-hook-walker-pending-functions): Private generic functions
(setf debugger-hook-walker-pending-variables): Private generic functions
(setf debugger-hook-walker-pending-variables): Private generic functions
(setf debugger-hook-walker-result-var): Private generic functions
(setf debugger-hook-walker-result-var): Private generic functions
(setf debugger-hooks-active): Public generic functions
(setf debugger-hooks-active): Public generic functions
(setf debugger-hooks-alias): Public generic functions
(setf debugger-hooks-alias): Public generic functions
(setf debugger-hooks-callback): Public generic functions
(setf debugger-hooks-callback): Public generic functions
(setf debugger-hooks-command): Public generic functions
(setf debugger-hooks-command): Public generic functions
(setf function-information-arglist): Public generic functions
(setf function-information-arglist): Public generic functions
(setf function-information-body): Public generic functions
(setf function-information-body): Public generic functions
(setf function-information-declarations): Public generic functions
(setf function-information-declarations): Public generic functions
(setf function-information-name): Public generic functions
(setf function-information-name): Public generic functions
(setf function-information-named): Public generic functions
(setf function-information-named): Public generic functions
(setf function-information-qualifiers): Public generic functions
(setf function-information-qualifiers): Public generic functions
(setf metaenv-blocks): Public generic functions
(setf metaenv-blocks): Public generic functions
(setf metaenv-create-macro): Private generic functions
(setf metaenv-create-macro): Private generic functions
(setf metaenv-fallback-env): Private generic functions
(setf metaenv-fallback-env): Private generic functions
(setf metaenv-function-like-entries): Public generic functions
(setf metaenv-function-like-entries): Public generic functions
(setf metaenv-never-pass-fallback-env): Private generic functions
(setf metaenv-never-pass-fallback-env): Private generic functions
(setf metaenv-on-every-atom): Private generic functions
(setf metaenv-on-every-atom): Private generic functions
(setf metaenv-on-every-form): Private generic functions
(setf metaenv-on-every-form): Private generic functions
(setf metaenv-on-every-form-pre): Private generic functions
(setf metaenv-on-every-form-pre): Private generic functions
(setf metaenv-on-function-form): Private generic functions
(setf metaenv-on-function-form): Private generic functions
(setf metaenv-on-function-form-pre): Private generic functions
(setf metaenv-on-function-form-pre): Private generic functions
(setf metaenv-on-macro-walker-create-macro): Private generic functions
(setf metaenv-on-macro-walker-create-macro): Private generic functions
(setf metaenv-on-macroexpanded-form): Private generic functions
(setf metaenv-on-macroexpanded-form): Private generic functions
(setf metaenv-on-special-form): Private generic functions
(setf metaenv-on-special-form): Private generic functions
(setf metaenv-on-special-form-pre): Private generic functions
(setf metaenv-on-special-form-pre): Private generic functions
(setf metaenv-recursive-label): Private generic functions
(setf metaenv-recursive-label): Private generic functions
(setf metaenv-tags): Public generic functions
(setf metaenv-tags): Public generic functions
(setf metaenv-toplevel): Public generic functions
(setf metaenv-toplevel): Public generic functions
(setf metaenv-variable-like-entries): Public generic functions
(setf metaenv-variable-like-entries): Public generic functions

D
debugger-hook-call: Private ordinary functions
debugger-hook-walker-function-marker: Private generic functions
debugger-hook-walker-function-marker: Private generic functions
debugger-hook-walker-lexenv-p: Private generic functions
debugger-hook-walker-lexenv-p: Private generic functions
debugger-hook-walker-pending-functions: Private generic functions
debugger-hook-walker-pending-functions: Private generic functions
debugger-hook-walker-pending-variables: Private generic functions
debugger-hook-walker-pending-variables: Private generic functions
debugger-hook-walker-replace-form: Private ordinary functions
debugger-hook-walker-result-var: Private generic functions
debugger-hook-walker-result-var: Private generic functions
debugger-hooks-active: Public generic functions
debugger-hooks-active: Public generic functions
debugger-hooks-alias: Public generic functions
debugger-hooks-alias: Public generic functions
debugger-hooks-assign: Public generic functions
debugger-hooks-assign: Public generic functions
debugger-hooks-callback: Public generic functions
debugger-hooks-callback: Public generic functions
debugger-hooks-command: Public generic functions
debugger-hooks-command: Public generic functions
default-debugger-hook-callback: Private ordinary functions
define-handle-nfunction: Private macros

E
environment-entries-for-name: Private ordinary functions
eval-with-current-environment: Private macros

F
flet-wrap: Private ordinary functions
Function, debugger-hook-call: Private ordinary functions
Function, debugger-hook-walker-replace-form: Private ordinary functions
Function, default-debugger-hook-callback: Private ordinary functions
Function, environment-entries-for-name: Private ordinary functions
Function, flet-wrap: Private ordinary functions
Function, go-tag-p: Private ordinary functions
Function, install-wrap-every-form-reader: Public ordinary functions
Function, lambda-list-variable-names: Private ordinary functions
Function, let-wrap: Private ordinary functions
Function, lexenv-cursor: Public ordinary functions
Function, list-locfuncs: Public ordinary functions
Function, list-locvars: Public ordinary functions
Function, macroexpand-all: Public ordinary functions
Function, macrolet-code-wrap: Private ordinary functions
Function, macrolet-wrap: Private ordinary functions
Function, metaenv-ensure-name-from-environment: Public ordinary functions
Function, metaenv-ensure-names-from-environment: Public ordinary functions
Function, metaenv-irrelevant-for-macroexpand: Private ordinary functions
Function, metaenv-macro-walker-turn-to-quoted: Private ordinary functions
Function, metaenv-macroexpand: Private ordinary functions
Function, metaenv-map-macroexpand-all: Public ordinary functions
Function, metaenv-map-macroexpand-all-after-declarations: Private ordinary functions
Function, pry: Public ordinary functions
Function, separate-declarations: Public ordinary functions
Function, separate-function-definition-parts: Public ordinary functions
Function, separate-lambda-expression-parts: Public ordinary functions
Function, set-local-debugger-hook: Public ordinary functions
Function, symbol-macrolet-wrap: Private ordinary functions
Function, walk-form: Public ordinary functions
Function, with-metaenv-built-env: Private ordinary functions
Function, wrap-block-env: Private ordinary functions
Function, wrap-every-form-reader: Public ordinary functions
Function, wrap-function-like-env: Private ordinary functions
Function, wrap-tag-env: Private ordinary functions
Function, wrap-variable-like-env: Private ordinary functions
function-information-arglist: Public generic functions
function-information-arglist: Public generic functions
function-information-body: Public generic functions
function-information-body: Public generic functions
function-information-declarations: Public generic functions
function-information-declarations: Public generic functions
function-information-name: Public generic functions
function-information-name: Public generic functions
function-information-named: Public generic functions
function-information-named: Public generic functions
function-information-qualifiers: Public generic functions
function-information-qualifiers: Public generic functions

G
Generic Function, (setf debugger-hook-walker-function-marker): Private generic functions
Generic Function, (setf debugger-hook-walker-lexenv-p): Private generic functions
Generic Function, (setf debugger-hook-walker-pending-functions): Private generic functions
Generic Function, (setf debugger-hook-walker-pending-variables): Private generic functions
Generic Function, (setf debugger-hook-walker-result-var): Private generic functions
Generic Function, (setf debugger-hooks-active): Public generic functions
Generic Function, (setf debugger-hooks-alias): Public generic functions
Generic Function, (setf debugger-hooks-callback): Public generic functions
Generic Function, (setf debugger-hooks-command): Public generic functions
Generic Function, (setf function-information-arglist): Public generic functions
Generic Function, (setf function-information-body): Public generic functions
Generic Function, (setf function-information-declarations): Public generic functions
Generic Function, (setf function-information-name): Public generic functions
Generic Function, (setf function-information-named): Public generic functions
Generic Function, (setf function-information-qualifiers): Public generic functions
Generic Function, (setf metaenv-blocks): Public generic functions
Generic Function, (setf metaenv-create-macro): Private generic functions
Generic Function, (setf metaenv-fallback-env): Private generic functions
Generic Function, (setf metaenv-function-like-entries): Public generic functions
Generic Function, (setf metaenv-never-pass-fallback-env): Private generic functions
Generic Function, (setf metaenv-on-every-atom): Private generic functions
Generic Function, (setf metaenv-on-every-form): Private generic functions
Generic Function, (setf metaenv-on-every-form-pre): Private generic functions
Generic Function, (setf metaenv-on-function-form): Private generic functions
Generic Function, (setf metaenv-on-function-form-pre): Private generic functions
Generic Function, (setf metaenv-on-macro-walker-create-macro): Private generic functions
Generic Function, (setf metaenv-on-macroexpanded-form): Private generic functions
Generic Function, (setf metaenv-on-special-form): Private generic functions
Generic Function, (setf metaenv-on-special-form-pre): Private generic functions
Generic Function, (setf metaenv-recursive-label): Private generic functions
Generic Function, (setf metaenv-tags): Public generic functions
Generic Function, (setf metaenv-toplevel): Public generic functions
Generic Function, (setf metaenv-variable-like-entries): Public generic functions
Generic Function, debugger-hook-walker-function-marker: Private generic functions
Generic Function, debugger-hook-walker-lexenv-p: Private generic functions
Generic Function, debugger-hook-walker-pending-functions: Private generic functions
Generic Function, debugger-hook-walker-pending-variables: Private generic functions
Generic Function, debugger-hook-walker-result-var: Private generic functions
Generic Function, debugger-hooks-active: Public generic functions
Generic Function, debugger-hooks-alias: Public generic functions
Generic Function, debugger-hooks-assign: Public generic functions
Generic Function, debugger-hooks-callback: Public generic functions
Generic Function, debugger-hooks-command: Public generic functions
Generic Function, function-information-arglist: Public generic functions
Generic Function, function-information-body: Public generic functions
Generic Function, function-information-declarations: Public generic functions
Generic Function, function-information-name: Public generic functions
Generic Function, function-information-named: Public generic functions
Generic Function, function-information-qualifiers: Public generic functions
Generic Function, metaenv-add-block: Private generic functions
Generic Function, metaenv-add-function-like-entry: Private generic functions
Generic Function, metaenv-add-tag: Private generic functions
Generic Function, metaenv-add-variable-like-entry: Private generic functions
Generic Function, metaenv-blocks: Public generic functions
Generic Function, metaenv-clone: Public generic functions
Generic Function, metaenv-clone-args: Public generic functions
Generic Function, metaenv-create-macro: Private generic functions
Generic Function, metaenv-expand-lambda-expression: Private generic functions
Generic Function, metaenv-fallback-env: Private generic functions
Generic Function, metaenv-function-like-entries: Public generic functions
Generic Function, metaenv-macroexpand-1: Private generic functions
Generic Function, metaenv-macroexpand-all: Public generic functions
Generic Function, metaenv-macroexpand-all-special-form: Private generic functions
Generic Function, metaenv-macroexpand-all-special-form-defun: Private generic functions
Generic Function, metaenv-macroexpand-all-special-form-flet: Private generic functions
Generic Function, metaenv-macroexpand-all-special-form-function: Private generic functions
Generic Function, metaenv-macroexpand-all-special-form-let: Private generic functions
Generic Function, metaenv-macroexpand-all-special-form-macrolet: Private generic functions
Generic Function, metaenv-macroexpand-all-special-form-progn: Private generic functions
Generic Function, metaenv-macroexpand-all-special-form-the: Private generic functions
Generic Function, metaenv-macroexpand-lambdalist: Private generic functions
Generic Function, metaenv-never-pass-fallback-env: Private generic functions
Generic Function, metaenv-on-every-atom: Private generic functions
Generic Function, metaenv-on-every-form: Private generic functions
Generic Function, metaenv-on-every-form-pre: Private generic functions
Generic Function, metaenv-on-function-form: Private generic functions
Generic Function, metaenv-on-function-form-pre: Private generic functions
Generic Function, metaenv-on-macro-walker-create-macro: Private generic functions
Generic Function, metaenv-on-macroexpanded-form: Private generic functions
Generic Function, metaenv-on-special-form: Private generic functions
Generic Function, metaenv-on-special-form-pre: Private generic functions
Generic Function, metaenv-recursive-label: Private generic functions
Generic Function, metaenv-tags: Public generic functions
Generic Function, metaenv-toplevel: Public generic functions
Generic Function, metaenv-variable-like-entries: Public generic functions
Generic Function, metaenv-wrap-form: Private generic functions
go-tag-p: Private ordinary functions

I
install-wrap-every-form-reader: Public ordinary functions

L
lambda-list-variable-names: Private ordinary functions
let-wrap: Private ordinary functions
lexenv-cursor: Public ordinary functions
list-locfuncs: Public ordinary functions
list-locvars: Public ordinary functions
locfunc: Public macros
locvar: Public macros

M
Macro, define-handle-nfunction: Private macros
Macro, eval-with-current-environment: Private macros
Macro, locfunc: Public macros
Macro, locvar: Public macros
Macro, macro-macroexpand-all: Public macros
Macro, macro-walk-form: Public macros
Macro, metaenv-macro-macroexpand-all: Public macros
Macro, metaenv-macro-macroexpand-all-wrapper: Private macros
Macro, with-debugger-hook-calls: Public macros
Macro, with-local-debugger-hook: Public macros
Macro, with-saved-lexenvs: Public macros
Macro, with-wrap-every-form-reader: Public macros
Macro, wrap-rest-of-input: Public macros
macro-macroexpand-all: Public macros
macro-walk-form: Public macros
macroexpand-all: Public ordinary functions
macrolet-code-wrap: Private ordinary functions
macrolet-wrap: Private ordinary functions
metaenv-add-block: Private generic functions
metaenv-add-block: Private generic functions
metaenv-add-block: Private generic functions
metaenv-add-function-like-entry: Private generic functions
metaenv-add-function-like-entry: Private generic functions
metaenv-add-function-like-entry: Private generic functions
metaenv-add-function-like-entry: Private generic functions
metaenv-add-tag: Private generic functions
metaenv-add-tag: Private generic functions
metaenv-add-tag: Private generic functions
metaenv-add-variable-like-entry: Private generic functions
metaenv-add-variable-like-entry: Private generic functions
metaenv-add-variable-like-entry: Private generic functions
metaenv-add-variable-like-entry: Private generic functions
metaenv-blocks: Public generic functions
metaenv-blocks: Public generic functions
metaenv-blocks: Public generic functions
metaenv-clone: Public generic functions
metaenv-clone: Public generic functions
metaenv-clone: Public generic functions
metaenv-clone-args: Public generic functions
metaenv-clone-args: Public generic functions
metaenv-clone-args: Public generic functions
metaenv-clone-args: Public generic functions
metaenv-clone-args: Public generic functions
metaenv-create-macro: Private generic functions
metaenv-create-macro: Private generic functions
metaenv-ensure-name-from-environment: Public ordinary functions
metaenv-ensure-names-from-environment: Public ordinary functions
metaenv-expand-lambda-expression: Private generic functions
metaenv-expand-lambda-expression: Private generic functions
metaenv-expand-lambda-expression: Private generic functions
metaenv-fallback-env: Private generic functions
metaenv-fallback-env: Private generic functions
metaenv-fallback-env: Private generic functions
metaenv-function-like-entries: Public generic functions
metaenv-function-like-entries: Public generic functions
metaenv-function-like-entries: Public generic functions
metaenv-irrelevant-for-macroexpand: Private ordinary functions
metaenv-macro-macroexpand-all: Public macros
metaenv-macro-macroexpand-all-wrapper: Private macros
metaenv-macro-walker-turn-to-quoted: Private ordinary functions
metaenv-macroexpand: Private ordinary functions
metaenv-macroexpand-1: Private generic functions
metaenv-macroexpand-1: Private generic functions
metaenv-macroexpand-1: Private generic functions
metaenv-macroexpand-all: Public generic functions
metaenv-macroexpand-all: Public generic functions
metaenv-macroexpand-all: Public generic functions
metaenv-macroexpand-all: Public generic functions
metaenv-macroexpand-all: Public generic functions
metaenv-macroexpand-all: Public generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form: Private generic functions
metaenv-macroexpand-all-special-form-defun: Private generic functions
metaenv-macroexpand-all-special-form-defun: Private generic functions
metaenv-macroexpand-all-special-form-defun: Private generic functions
metaenv-macroexpand-all-special-form-flet: Private generic functions
metaenv-macroexpand-all-special-form-flet: Private generic functions
metaenv-macroexpand-all-special-form-function: Private generic functions
metaenv-macroexpand-all-special-form-function: Private generic functions
metaenv-macroexpand-all-special-form-let: Private generic functions
metaenv-macroexpand-all-special-form-let: Private generic functions
metaenv-macroexpand-all-special-form-macrolet: Private generic functions
metaenv-macroexpand-all-special-form-macrolet: Private generic functions
metaenv-macroexpand-all-special-form-progn: Private generic functions
metaenv-macroexpand-all-special-form-progn: Private generic functions
metaenv-macroexpand-all-special-form-the: Private generic functions
metaenv-macroexpand-all-special-form-the: Private generic functions
metaenv-macroexpand-lambdalist: Private generic functions
metaenv-macroexpand-lambdalist: Private generic functions
metaenv-map-macroexpand-all: Public ordinary functions
metaenv-map-macroexpand-all-after-declarations: Private ordinary functions
metaenv-never-pass-fallback-env: Private generic functions
metaenv-never-pass-fallback-env: Private generic functions
metaenv-never-pass-fallback-env: Private generic functions
metaenv-on-every-atom: Private generic functions
metaenv-on-every-atom: Private generic functions
metaenv-on-every-form: Private generic functions
metaenv-on-every-form: Private generic functions
metaenv-on-every-form-pre: Private generic functions
metaenv-on-every-form-pre: Private generic functions
metaenv-on-function-form: Private generic functions
metaenv-on-function-form: Private generic functions
metaenv-on-function-form-pre: Private generic functions
metaenv-on-function-form-pre: Private generic functions
metaenv-on-macro-walker-create-macro: Private generic functions
metaenv-on-macro-walker-create-macro: Private generic functions
metaenv-on-macroexpanded-form: Private generic functions
metaenv-on-macroexpanded-form: Private generic functions
metaenv-on-special-form: Private generic functions
metaenv-on-special-form: Private generic functions
metaenv-on-special-form-pre: Private generic functions
metaenv-on-special-form-pre: Private generic functions
metaenv-recursive-label: Private generic functions
metaenv-recursive-label: Private generic functions
metaenv-recursive-label: Private generic functions
metaenv-tags: Public generic functions
metaenv-tags: Public generic functions
metaenv-tags: Public generic functions
metaenv-toplevel: Public generic functions
metaenv-toplevel: Public generic functions
metaenv-toplevel: Public generic functions
metaenv-variable-like-entries: Public generic functions
metaenv-variable-like-entries: Public generic functions
metaenv-variable-like-entries: Public generic functions
metaenv-wrap-form: Private generic functions
metaenv-wrap-form: Private generic functions
metaenv-wrap-form: Private generic functions
Method, (setf debugger-hook-walker-function-marker): Private generic functions
Method, (setf debugger-hook-walker-lexenv-p): Private generic functions
Method, (setf debugger-hook-walker-pending-functions): Private generic functions
Method, (setf debugger-hook-walker-pending-variables): Private generic functions
Method, (setf debugger-hook-walker-result-var): Private generic functions
Method, (setf debugger-hooks-active): Public generic functions
Method, (setf debugger-hooks-alias): Public generic functions
Method, (setf debugger-hooks-callback): Public generic functions
Method, (setf debugger-hooks-command): Public generic functions
Method, (setf function-information-arglist): Public generic functions
Method, (setf function-information-body): Public generic functions
Method, (setf function-information-declarations): Public generic functions
Method, (setf function-information-name): Public generic functions
Method, (setf function-information-named): Public generic functions
Method, (setf function-information-qualifiers): Public generic functions
Method, (setf metaenv-blocks): Public generic functions
Method, (setf metaenv-create-macro): Private generic functions
Method, (setf metaenv-fallback-env): Private generic functions
Method, (setf metaenv-function-like-entries): Public generic functions
Method, (setf metaenv-never-pass-fallback-env): Private generic functions
Method, (setf metaenv-on-every-atom): Private generic functions
Method, (setf metaenv-on-every-form): Private generic functions
Method, (setf metaenv-on-every-form-pre): Private generic functions
Method, (setf metaenv-on-function-form): Private generic functions
Method, (setf metaenv-on-function-form-pre): Private generic functions
Method, (setf metaenv-on-macro-walker-create-macro): Private generic functions
Method, (setf metaenv-on-macroexpanded-form): Private generic functions
Method, (setf metaenv-on-special-form): Private generic functions
Method, (setf metaenv-on-special-form-pre): Private generic functions
Method, (setf metaenv-recursive-label): Private generic functions
Method, (setf metaenv-tags): Public generic functions
Method, (setf metaenv-toplevel): Public generic functions
Method, (setf metaenv-variable-like-entries): Public generic functions
Method, debugger-hook-walker-function-marker: Private generic functions
Method, debugger-hook-walker-lexenv-p: Private generic functions
Method, debugger-hook-walker-pending-functions: Private generic functions
Method, debugger-hook-walker-pending-variables: Private generic functions
Method, debugger-hook-walker-result-var: Private generic functions
Method, debugger-hooks-active: Public generic functions
Method, debugger-hooks-alias: Public generic functions
Method, debugger-hooks-assign: Public generic functions
Method, debugger-hooks-callback: Public generic functions
Method, debugger-hooks-command: Public generic functions
Method, function-information-arglist: Public generic functions
Method, function-information-body: Public generic functions
Method, function-information-declarations: Public generic functions
Method, function-information-name: Public generic functions
Method, function-information-named: Public generic functions
Method, function-information-qualifiers: Public generic functions
Method, metaenv-add-block: Private generic functions
Method, metaenv-add-block: Private generic functions
Method, metaenv-add-function-like-entry: Private generic functions
Method, metaenv-add-function-like-entry: Private generic functions
Method, metaenv-add-function-like-entry: Private generic functions
Method, metaenv-add-tag: Private generic functions
Method, metaenv-add-tag: Private generic functions
Method, metaenv-add-variable-like-entry: Private generic functions
Method, metaenv-add-variable-like-entry: Private generic functions
Method, metaenv-add-variable-like-entry: Private generic functions
Method, metaenv-blocks: Public generic functions
Method, metaenv-blocks: Public generic functions
Method, metaenv-clone: Public generic functions
Method, metaenv-clone: Public generic functions
Method, metaenv-clone-args: Public generic functions
Method, metaenv-clone-args: Public generic functions
Method, metaenv-clone-args: Public generic functions
Method, metaenv-clone-args: Public generic functions
Method, metaenv-create-macro: Private generic functions
Method, metaenv-expand-lambda-expression: Private generic functions
Method, metaenv-expand-lambda-expression: Private generic functions
Method, metaenv-fallback-env: Private generic functions
Method, metaenv-fallback-env: Private generic functions
Method, metaenv-function-like-entries: Public generic functions
Method, metaenv-function-like-entries: Public generic functions
Method, metaenv-macroexpand-1: Private generic functions
Method, metaenv-macroexpand-1: Private generic functions
Method, metaenv-macroexpand-all: Public generic functions
Method, metaenv-macroexpand-all: Public generic functions
Method, metaenv-macroexpand-all: Public generic functions
Method, metaenv-macroexpand-all: Public generic functions
Method, metaenv-macroexpand-all: Public generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form: Private generic functions
Method, metaenv-macroexpand-all-special-form-defun: Private generic functions
Method, metaenv-macroexpand-all-special-form-defun: Private generic functions
Method, metaenv-macroexpand-all-special-form-flet: Private generic functions
Method, metaenv-macroexpand-all-special-form-function: Private generic functions
Method, metaenv-macroexpand-all-special-form-let: Private generic functions
Method, metaenv-macroexpand-all-special-form-macrolet: Private generic functions
Method, metaenv-macroexpand-all-special-form-progn: Private generic functions
Method, metaenv-macroexpand-all-special-form-the: Private generic functions
Method, metaenv-macroexpand-lambdalist: Private generic functions
Method, metaenv-never-pass-fallback-env: Private generic functions
Method, metaenv-never-pass-fallback-env: Private generic functions
Method, metaenv-on-every-atom: Private generic functions
Method, metaenv-on-every-form: Private generic functions
Method, metaenv-on-every-form-pre: Private generic functions
Method, metaenv-on-function-form: Private generic functions
Method, metaenv-on-function-form-pre: Private generic functions
Method, metaenv-on-macro-walker-create-macro: Private generic functions
Method, metaenv-on-macroexpanded-form: Private generic functions
Method, metaenv-on-special-form: Private generic functions
Method, metaenv-on-special-form-pre: Private generic functions
Method, metaenv-recursive-label: Private generic functions
Method, metaenv-recursive-label: Private generic functions
Method, metaenv-tags: Public generic functions
Method, metaenv-tags: Public generic functions
Method, metaenv-toplevel: Public generic functions
Method, metaenv-toplevel: Public generic functions
Method, metaenv-variable-like-entries: Public generic functions
Method, metaenv-variable-like-entries: Public generic functions
Method, metaenv-wrap-form: Private generic functions
Method, metaenv-wrap-form: Private generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods

P
print-object: Public standalone methods
print-object: Public standalone methods
pry: Public ordinary functions

S
separate-declarations: Public ordinary functions
separate-function-definition-parts: Public ordinary functions
separate-lambda-expression-parts: Public ordinary functions
set-local-debugger-hook: Public ordinary functions
symbol-macrolet-wrap: Private ordinary functions

W
walk-form: Public ordinary functions
with-debugger-hook-calls: Public macros
with-local-debugger-hook: Public macros
with-metaenv-built-env: Private ordinary functions
with-saved-lexenvs: Public macros
with-wrap-every-form-reader: Public macros
wrap-block-env: Private ordinary functions
wrap-every-form-reader: Public ordinary functions
wrap-function-like-env: Private ordinary functions
wrap-rest-of-input: Public macros
wrap-tag-env: Private ordinary functions
wrap-variable-like-env: Private ordinary functions


A.3 Variables

Jump to:   *  
A   B   C   D   F   L   N   O   P   Q   R   S   T   V  
Index Entry  Section

*
*debugger-hooks-state*: Public special variables
*hardwired-operators*: Private special variables
*local-debugger-hooks*: Public special variables
*marker-counter*: Private special variables
*saved-lexenv-cursor*: Private special variables
*saved-lexenvs*: Private special variables

A
arglist: Public classes

B
blocks: Public classes
body: Public classes

C
create-macro: Public classes

D
debugger-hooks-active: Public classes
debugger-hooks-alias: Public classes
debugger-hooks-callback: Public classes
debugger-hooks-command: Public classes
declarations: Public classes

F
fallback-env: Public classes
function-like: Public classes
function-marker: Private classes

L
lexenvp: Private classes

N
name: Public classes
named: Public classes
never-pass-fallback-env: Public classes

O
on-every-atom: Public classes
on-every-form: Public classes
on-every-form-pre: Public classes
on-function-form: Public classes
on-function-form-pre: Public classes
on-macro-walker-create-macro: Public classes
on-macroexpanded-form: Public classes
on-special-form: Public classes
on-special-form-pre: Public classes

P
pending-functions: Private classes
pending-variables: Private classes

Q
qualifiers: Public classes

R
recursive-label: Public classes
result-var: Private classes

S
Slot, arglist: Public classes
Slot, blocks: Public classes
Slot, body: Public classes
Slot, create-macro: Public classes
Slot, debugger-hooks-active: Public classes
Slot, debugger-hooks-alias: Public classes
Slot, debugger-hooks-callback: Public classes
Slot, debugger-hooks-command: Public classes
Slot, declarations: Public classes
Slot, fallback-env: Public classes
Slot, function-like: Public classes
Slot, function-marker: Private classes
Slot, lexenvp: Private classes
Slot, name: Public classes
Slot, named: Public classes
Slot, never-pass-fallback-env: Public classes
Slot, on-every-atom: Public classes
Slot, on-every-form: Public classes
Slot, on-every-form-pre: Public classes
Slot, on-function-form: Public classes
Slot, on-function-form-pre: Public classes
Slot, on-macro-walker-create-macro: Public classes
Slot, on-macroexpanded-form: Public classes
Slot, on-special-form: Public classes
Slot, on-special-form-pre: Public classes
Slot, pending-functions: Private classes
Slot, pending-variables: Private classes
Slot, qualifiers: Public classes
Slot, recursive-label: Public classes
Slot, result-var: Private classes
Slot, tags: Public classes
Slot, toplevel: Public classes
Slot, variable-like: Public classes
Special Variable, *debugger-hooks-state*: Public special variables
Special Variable, *hardwired-operators*: Private special variables
Special Variable, *local-debugger-hooks*: Public special variables
Special Variable, *marker-counter*: Private special variables
Special Variable, *saved-lexenv-cursor*: Private special variables
Special Variable, *saved-lexenvs*: Private special variables

T
tags: Public classes
toplevel: Public classes

V
variable-like: Public classes


A.4 Data types

Jump to:   A   C   D   E   F   G   L   M   P   R   S   U   W  
Index Entry  Section

A
agnostic-lizard: The agnostic-lizard system
agnostic-lizard: The agnostic-lizard package
agnostic-lizard-debugger-hooks: The agnostic-lizard-debugger-hooks package
agnostic-lizard-lexenv-wrapper: The agnostic-lizard-lexenv-wrapper package
agnostic-lizard.asd: The agnostic-lizard/agnostic-lizard․asd file
authors: The agnostic-lizard/authors file

C
Class, debugger-hook-walker-env: Private classes
Class, debugger-hooks-state: Public classes
Class, function-information: Public classes
Class, macro-walker-metaenv: Public classes
Class, metaenv: Public classes
Class, walker-metaenv: Public classes
copying: The agnostic-lizard/copying file

D
debugger-hook-walker-env: Private classes
debugger-hooks-state: Public classes
debugger-hooks.lisp: The agnostic-lizard/debugger-hooks․lisp file

E
env-wrappers.lisp: The agnostic-lizard/env-wrappers․lisp file
examples.lisp: The agnostic-lizard/examples․lisp file

F
File, agnostic-lizard.asd: The agnostic-lizard/agnostic-lizard․asd file
File, authors: The agnostic-lizard/authors file
File, copying: The agnostic-lizard/copying file
File, debugger-hooks.lisp: The agnostic-lizard/debugger-hooks․lisp file
File, env-wrappers.lisp: The agnostic-lizard/env-wrappers․lisp file
File, examples.lisp: The agnostic-lizard/examples․lisp file
File, generic-walking.lisp: The agnostic-lizard/generic-walking․lisp file
File, gpl-3.0.txt: The agnostic-lizard/gpl-3․0․txt file
File, lexenv.lisp: The agnostic-lizard/lexenv․lisp file
File, local-variables.lisp: The agnostic-lizard/local-variables․lisp file
File, macro-based-walking.lisp: The agnostic-lizard/macro-based-walking․lisp file
File, metaenv.lisp: The agnostic-lizard/metaenv․lisp file
File, package.lisp: The agnostic-lizard/package․lisp file
File, pure-expansion.lisp: The agnostic-lizard/pure-expansion․lisp file
File, readme: The agnostic-lizard/readme file
File, special-form-handlers.lisp: The agnostic-lizard/special-form-handlers․lisp file
File, utils.lisp: The agnostic-lizard/utils․lisp file
File, wrapping-reader.lisp: The agnostic-lizard/wrapping-reader․lisp file
function-information: Public classes

G
generic-walking.lisp: The agnostic-lizard/generic-walking․lisp file
gpl-3.0.txt: The agnostic-lizard/gpl-3․0․txt file

L
lexenv.lisp: The agnostic-lizard/lexenv․lisp file
local-variables.lisp: The agnostic-lizard/local-variables․lisp file

M
macro-based-walking.lisp: The agnostic-lizard/macro-based-walking․lisp file
macro-walker-metaenv: Public classes
metaenv: Public classes
metaenv.lisp: The agnostic-lizard/metaenv․lisp file

P
Package, agnostic-lizard: The agnostic-lizard package
Package, agnostic-lizard-debugger-hooks: The agnostic-lizard-debugger-hooks package
Package, agnostic-lizard-lexenv-wrapper: The agnostic-lizard-lexenv-wrapper package
package.lisp: The agnostic-lizard/package․lisp file
pure-expansion.lisp: The agnostic-lizard/pure-expansion․lisp file

R
readme: The agnostic-lizard/readme file

S
special-form-handlers.lisp: The agnostic-lizard/special-form-handlers․lisp file
System, agnostic-lizard: The agnostic-lizard system

U
utils.lisp: The agnostic-lizard/utils․lisp file

W
walker-metaenv: Public classes
wrapping-reader.lisp: The agnostic-lizard/wrapping-reader․lisp file