The utility Reference Manual

This is the utility Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 18:12:21 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 utility

A collection of useful functions and macros.

Author

terminal625

License

MIT

Source

utility.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 utility/utility.asd

Source

utility.asd.

Parent Component

utility (system).

ASDF Systems

utility.


3.1.2 utility/package.lisp

Source

utility.asd.

Parent Component

utility (system).

Packages

utility.


3.1.3 utility/other.lisp

Dependency

package.lisp (file).

Source

utility.asd.

Parent Component

utility (system).

Public Interface

3.1.4 utility/math.lisp

Dependency

other.lisp (file).

Source

utility.asd.

Parent Component

utility (system).

Public Interface

3.1.5 utility/utility.lisp

Dependency

math.lisp (file).

Source

utility.asd.

Parent Component

utility (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 utility

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

5 Definitions

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


5.1 Public Interface


5.1.1 Macros

Macro: %list (target &rest args)
Package

utility.

Source

utility.lisp.

Macro: any (&body body)
Package

utility.

Source

utility.lisp.

Macro: dobox ((&rest interval-forms) &rest body)
Package

utility.

Source

utility.lisp.

Macro: dohash ((k v) hash &body body)
Package

utility.

Source

utility.lisp.

Macro: etouq (&body body)
Package

utility.

Source

utility.lisp.

Macro: eval-always (&body body)
Package

utility.

Source

utility.lisp.

Macro: nest (&rest things)

Macro to do keep code nesting and indentation under control.

Package

utility.

Source

other.lisp.

Macro: once-only (specs &body forms)

Evaluates FORMS with symbols specified in SPECS rebound to temporary variables, ensuring that each initform is evaluated only once.

Each of SPECS must either be a symbol naming the variable to be rebound, or of the form:

(symbol initform)

Bare symbols in SPECS are equivalent to

(symbol symbol)

Example:

(defmacro cons1 (x) (once-only (x) ‘(cons ,x ,x)))
(let ((y 0)) (cons1 (incf y))) => (1 . 1)

Package

utility.

Source

other.lisp.

Macro: progno (&rest args)
Package

utility.

Source

utility.lisp.

Macro: this-directory ()
Package

utility.

Source

utility.lisp.

Macro: this-file ()
Package

utility.

Source

utility.lisp.

Macro: toggle (var)
Package

utility.

Source

utility.lisp.

Macro: with-declaim-inline ((&rest names) &body body)
Package

utility.

Source

utility.lisp.

Macro: with-gensyms (names &body forms)

Binds each variable named by a symbol in NAMES to a unique symbol around FORMS. Each of NAMES must either be either a symbol, or of the form:

(symbol string-designator)

Bare symbols appearing in NAMES are equivalent to:

(symbol symbol)

The string-designator is used as the argument to GENSYM when constructing the unique symbol the named variable will be bound to.

Package

utility.

Source

other.lisp.

Macro: with-let-mapped-places ((&rest place-pairs) &body body)
Package

utility.

Source

utility.lisp.

Macro: with-unsafe-speed (&body body)
Package

utility.

Source

utility.lisp.

Macro: with-vec ((&rest bufvars) (buf &optional binder) &body body)
Package

utility.

Source

utility.lisp.


5.1.2 Ordinary functions

Function: %%with-vec-params (bufvars buf binder body)
Package

utility.

Source

utility.lisp.

Function: %nest (things)
Package

utility.

Source

other.lisp.

Function: %with-let-mapped-places (place-pairs &optional body)
Package

utility.

Source

utility.lisp.

Function: byte/255 (x)
Package

utility.

Source

math.lisp.

Function: clamp (min max x)
Package

utility.

Source

math.lisp.

Function: floatify (x)
Package

utility.

Source

math.lisp.

Function: keywordify (sym)
Package

utility.

Source

utility.lisp.

Function: make-gensym-list (length &optional x)

Returns a list of LENGTH gensyms, each generated as if with a call to MAKE-GENSYM, using the second (optional, defaulting to "G") argument.

Package

utility.

Source

other.lisp.

Function: parse-body (body &key documentation whole)

Parses BODY into (values remaining-forms declarations doc-string). Documentation strings are recognized only if DOCUMENTATION is true. Syntax errors in body are signalled and WHOLE is used in the signal arguments when given.

Package

utility.

Source

other.lisp.

Function: print-bits (n &optional stream)
Package

utility.

Source

utility.lisp.

Function: rebase-path (path base)
Package

utility.

Source

utility.lisp.

Function: spill-hash (hash &optional stream)
Package

utility.

Source

utility.lisp.

Function: symbolicate2 (things &optional package)

Concatenate together the names of some strings and symbols, producing a symbol in the current package.

Package

utility.

Source

other.lisp.

Function: with-vec-params (&rest args)
Package

utility.

Source

utility.lisp.

Function: with-vec-params2 (bufvars)
Package

utility.

Source

utility.lisp.


5.2 Internals


5.2.1 Constants

Constant: +fixnum-bits+
Package

utility.

Source

utility.lisp.


5.2.2 Ordinary functions

Function: %2aux-with-vec-params (bufvars)
Package

utility.

Source

utility.lisp.

Function: %aux-with-vec-params (vars-or-offsets &optional offset)
Package

utility.

Source

utility.lisp.

Function: dorange-generator (body var start-form end-form &key test jmp inc)
Package

utility.

Source

utility.lisp.

Function: file-directory (value)
Package

utility.

Source

utility.lisp.

Function: type-multimap-alist (type varname alist)
Package

utility.

Source

utility.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %  
A   B   C   D   E   F   K   M   N   O   P   R   S   T   W  
Index Entry  Section

%
%%with-vec-params: Public ordinary functions
%2aux-with-vec-params: Private ordinary functions
%aux-with-vec-params: Private ordinary functions
%list: Public macros
%nest: Public ordinary functions
%with-let-mapped-places: Public ordinary functions

A
any: Public macros

B
byte/255: Public ordinary functions

C
clamp: Public ordinary functions

D
dobox: Public macros
dohash: Public macros
dorange-generator: Private ordinary functions

E
etouq: Public macros
eval-always: Public macros

F
file-directory: Private ordinary functions
floatify: Public ordinary functions
Function, %%with-vec-params: Public ordinary functions
Function, %2aux-with-vec-params: Private ordinary functions
Function, %aux-with-vec-params: Private ordinary functions
Function, %nest: Public ordinary functions
Function, %with-let-mapped-places: Public ordinary functions
Function, byte/255: Public ordinary functions
Function, clamp: Public ordinary functions
Function, dorange-generator: Private ordinary functions
Function, file-directory: Private ordinary functions
Function, floatify: Public ordinary functions
Function, keywordify: Public ordinary functions
Function, make-gensym-list: Public ordinary functions
Function, parse-body: Public ordinary functions
Function, print-bits: Public ordinary functions
Function, rebase-path: Public ordinary functions
Function, spill-hash: Public ordinary functions
Function, symbolicate2: Public ordinary functions
Function, type-multimap-alist: Private ordinary functions
Function, with-vec-params: Public ordinary functions
Function, with-vec-params2: Public ordinary functions

K
keywordify: Public ordinary functions

M
Macro, %list: Public macros
Macro, any: Public macros
Macro, dobox: Public macros
Macro, dohash: Public macros
Macro, etouq: Public macros
Macro, eval-always: Public macros
Macro, nest: Public macros
Macro, once-only: Public macros
Macro, progno: Public macros
Macro, this-directory: Public macros
Macro, this-file: Public macros
Macro, toggle: Public macros
Macro, with-declaim-inline: Public macros
Macro, with-gensyms: Public macros
Macro, with-let-mapped-places: Public macros
Macro, with-unsafe-speed: Public macros
Macro, with-vec: Public macros
make-gensym-list: Public ordinary functions

N
nest: Public macros

O
once-only: Public macros

P
parse-body: Public ordinary functions
print-bits: Public ordinary functions
progno: Public macros

R
rebase-path: Public ordinary functions

S
spill-hash: Public ordinary functions
symbolicate2: Public ordinary functions

T
this-directory: Public macros
this-file: Public macros
toggle: Public macros
type-multimap-alist: Private ordinary functions

W
with-declaim-inline: Public macros
with-gensyms: Public macros
with-let-mapped-places: Public macros
with-unsafe-speed: Public macros
with-vec: Public macros
with-vec-params: Public ordinary functions
with-vec-params2: Public ordinary functions


A.3 Variables

Jump to:   +  
C  
Index Entry  Section

+
+fixnum-bits+: Private constants

C
Constant, +fixnum-bits+: Private constants