The draw-cons-tree Reference Manual

This is the draw-cons-tree Reference Manual, version 1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:19:07 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 draw-cons-tree

Draws a cons tree in ASCII-art style.

Authors

Nils M. Holm
Chris Bagley
Michał "phoe" Herda <>

Contact

License

Public Domain

Version

1.0

Dependency

alexandria (system).

Source

draw-cons-tree.asd.

Child Component

draw-cons-tree.lisp (file).


3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 draw-cons-tree/draw-cons-tree.asd

Source

draw-cons-tree.asd.

Parent Component

draw-cons-tree (system).

ASDF Systems

draw-cons-tree.


3.1.2 draw-cons-tree/draw-cons-tree.lisp

Source

draw-cons-tree.asd.

Parent Component

draw-cons-tree (system).

Packages

draw-cons-tree.

Public Interface

draw-tree (function).

Internals

4 Packages

Packages are listed by definition order.


4.1 draw-cons-tree

Source

draw-cons-tree.lisp.

Use List

common-lisp.

Public Interface

draw-tree (function).

Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Ordinary functions

Function: draw-tree (form &key width prefix stream drawing-mode)

Draws a cons tree in ASCII-art style.

If *PRINT-CIRCLE* is true, structure sharing is detected in the printed tree.

Keyword arguments:
* WIDTH - if NIL, the width of every column is adjusted automatically based on the contents of that column. If true, it must be an (INTEGER 5) and denotes the fixed width of all columns. Atoms which cannot fit in a column will be truncated. Defaults to NIL.
* PREFIX - the prefix that will be printed before every line, or NIL for no prefix. Defaults to ";;; ".
* STREAM - the stream that the form will be drawn to, or T for standard output, or NIL if a string should be returned. Defaults to T.
* DRAWING-MODE - denotes the preferred direction of printing the cons tree. :VERTICAL produces output which has more rows, whereas :HORIZONTAL - more columns. Defaults to :VERTICAL.

Package

draw-cons-tree.

Source

draw-cons-tree.lisp.


5.2 Internals


5.2.1 Special variables

Special Variable: *cell-width*
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Special Variable: *connection-direction*
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Special Variable: *draw-output*
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Special Variable: *drawing-mode*
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Special Variable: *label-counter*
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Special Variable: *visited-conses*
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.


5.2.2 Macros

Macro: test (form string)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.


5.2.3 Ordinary functions

Function: %draw-tree (form width prefix drawing-mode)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: canvas-body-column-widths (canvas)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: canvas-dimensions (canvas)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: canvas-label-column-widths (canvas)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: canvas-point (canvas y x &optional errorp)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: canvas-point-p (canvas y x)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: copy-point (instance)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: draw-atom (form)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: draw-below-line (canvas width y prefix label-column-widths body-column-widths)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: draw-canvas (canvas &optional prefix)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: draw-cons (form)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: draw-main-line (canvas width y prefix label-column-widths body-column-widths)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: draw-vertical ()
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: fill-canvas (canvas form y x)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: fill-canvas-atom (canvas form y x)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: fill-canvas-cons (canvas form y x)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: fill-canvas-horizontal (canvas form y x)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: fill-canvas-reader-label (canvas form y x)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: fill-canvas-vertical (canvas form y x)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: fresh-lined ()
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: integer-width (integer)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: intern-point (canvas y x)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: list-height* (form)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: list-length* (form)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: make-canvas ()
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: make-empty-string (n)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: make-line-string (n)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Function: make-point (&key body label below right)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Reader: point-below (instance)
Writer: (setf point-below) (instance)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Target Slot

below.

Reader: point-body (instance)
Writer: (setf point-body) (instance)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Target Slot

body.

Reader: point-label (instance)
Writer: (setf point-label) (instance)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Target Slot

label.

Function: point-p (object)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Reader: point-right (instance)
Writer: (setf point-right) (instance)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Target Slot

right.

Function: princd (thing)
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.


5.2.4 Structures

Structure: point
Package

draw-cons-tree.

Source

draw-cons-tree.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: body
Initform

""

Readers

point-body.

Writers

(setf point-body).

Slot: label
Readers

point-label.

Writers

(setf point-label).

Slot: below
Readers

point-below.

Writers

(setf point-below).

Slot: right
Readers

point-right.

Writers

(setf point-right).


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
C   D   F   I   L   M   P   T  
Index Entry  Section

%
%draw-tree: Private ordinary functions

(
(setf point-below): Private ordinary functions
(setf point-body): Private ordinary functions
(setf point-label): Private ordinary functions
(setf point-right): Private ordinary functions

C
canvas-body-column-widths: Private ordinary functions
canvas-dimensions: Private ordinary functions
canvas-label-column-widths: Private ordinary functions
canvas-point: Private ordinary functions
canvas-point-p: Private ordinary functions
copy-point: Private ordinary functions

D
draw-atom: Private ordinary functions
draw-below-line: Private ordinary functions
draw-canvas: Private ordinary functions
draw-cons: Private ordinary functions
draw-main-line: Private ordinary functions
draw-tree: Public ordinary functions
draw-vertical: Private ordinary functions

F
fill-canvas: Private ordinary functions
fill-canvas-atom: Private ordinary functions
fill-canvas-cons: Private ordinary functions
fill-canvas-horizontal: Private ordinary functions
fill-canvas-reader-label: Private ordinary functions
fill-canvas-vertical: Private ordinary functions
fresh-lined: Private ordinary functions
Function, %draw-tree: Private ordinary functions
Function, (setf point-below): Private ordinary functions
Function, (setf point-body): Private ordinary functions
Function, (setf point-label): Private ordinary functions
Function, (setf point-right): Private ordinary functions
Function, canvas-body-column-widths: Private ordinary functions
Function, canvas-dimensions: Private ordinary functions
Function, canvas-label-column-widths: Private ordinary functions
Function, canvas-point: Private ordinary functions
Function, canvas-point-p: Private ordinary functions
Function, copy-point: Private ordinary functions
Function, draw-atom: Private ordinary functions
Function, draw-below-line: Private ordinary functions
Function, draw-canvas: Private ordinary functions
Function, draw-cons: Private ordinary functions
Function, draw-main-line: Private ordinary functions
Function, draw-tree: Public ordinary functions
Function, draw-vertical: Private ordinary functions
Function, fill-canvas: Private ordinary functions
Function, fill-canvas-atom: Private ordinary functions
Function, fill-canvas-cons: Private ordinary functions
Function, fill-canvas-horizontal: Private ordinary functions
Function, fill-canvas-reader-label: Private ordinary functions
Function, fill-canvas-vertical: Private ordinary functions
Function, fresh-lined: Private ordinary functions
Function, integer-width: Private ordinary functions
Function, intern-point: Private ordinary functions
Function, list-height*: Private ordinary functions
Function, list-length*: Private ordinary functions
Function, make-canvas: Private ordinary functions
Function, make-empty-string: Private ordinary functions
Function, make-line-string: Private ordinary functions
Function, make-point: Private ordinary functions
Function, point-below: Private ordinary functions
Function, point-body: Private ordinary functions
Function, point-label: Private ordinary functions
Function, point-p: Private ordinary functions
Function, point-right: Private ordinary functions
Function, princd: Private ordinary functions

I
integer-width: Private ordinary functions
intern-point: Private ordinary functions

L
list-height*: Private ordinary functions
list-length*: Private ordinary functions

M
Macro, test: Private macros
make-canvas: Private ordinary functions
make-empty-string: Private ordinary functions
make-line-string: Private ordinary functions
make-point: Private ordinary functions

P
point-below: Private ordinary functions
point-body: Private ordinary functions
point-label: Private ordinary functions
point-p: Private ordinary functions
point-right: Private ordinary functions
princd: Private ordinary functions

T
test: Private macros