The stdutils Reference Manual

This is the stdutils Reference Manual, version 1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 05:24:55 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 stdutils

Standard Utilities

Author

Ian Eslick <>

License

BSD

Version

1.0

Dependencies
  • cl-ppcre (system).
  • cl-fad (system).
Source

stdutils.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 stdutils/src

Source

stdutils.asd.

Parent Component

stdutils (system).

Child Components

4 Files

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


4.1 Lisp


4.1.1 stdutils/stdutils.asd

Source

stdutils.asd.

Parent Component

stdutils (system).

ASDF Systems

stdutils.

Packages

stdutils.system.


4.1.2 stdutils/src/package.lisp

Source

stdutils.asd.

Parent Component

src (module).

Packages

4.1.3 stdutils/src/system.lisp

Dependency

package.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface

4.1.4 stdutils/src/lists.lisp

Dependency

system.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.5 stdutils/src/macros.lisp

Dependency

system.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface

4.1.6 stdutils/src/iteration.lisp

Dependency

system.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface

4.1.7 stdutils/src/conditionals.lisp

Dependency

lists.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.8 stdutils/src/map.lisp

Dependency

iteration.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface

4.1.9 stdutils/src/iteration2.lisp

Dependency

map.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface

4.1.10 stdutils/src/shorthand.lisp

Dependencies
Source

stdutils.asd.

Parent Component

src (module).

Public Interface

4.1.11 stdutils/src/functions.lisp

Dependency

shorthand.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.12 stdutils/src/math.lisp

Dependency

functions.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface

4.1.13 stdutils/src/setf.lisp

Dependency

functions.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.14 stdutils/src/clos.lisp

Dependency

functions.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface
Internals

parse-method-spec (function).


4.1.15 stdutils/src/hashutil.lisp

Dependency

shorthand.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface

4.1.16 stdutils/src/file.lisp

Dependency

shorthand.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface
Internals

split-file (function).


4.1.17 stdutils/src/arrays.lisp

Dependency

shorthand.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface

4.1.18 stdutils/src/random.lisp

Source

stdutils.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.19 stdutils/src/regex.lisp

Dependencies
Source

stdutils.asd.

Parent Component

src (module).

Public Interface

4.1.20 stdutils/src/strings.lisp

Dependency

regex.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.21 stdutils/src/split-sequence.lisp

Source

stdutils.asd.

Parent Component

src (module).

Packages

split-sequence.

Public Interface

4.1.22 stdutils/src/ifstar.lisp

Dependency

package.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface

if* (macro).

Internals

if*-keyword-list (special variable).


4.1.23 stdutils/src/tokenizer.lisp

Dependency

lists.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface

4.1.24 stdutils/src/match.lisp

Dependency

shorthand.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.25 stdutils/src/time.lisp

Dependency

shorthand.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.26 stdutils/src/prof.lisp

Dependency

shorthand.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface

4.1.27 stdutils/src/matrix.lisp

Source

stdutils.asd.

Parent Component

src (module).

Public Interface

4.1.28 stdutils/src/queue.lisp

Dependency

shorthand.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.29 stdutils/src/cache.lisp

Dependencies
Source

stdutils.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.30 stdutils/src/collections.lisp

Dependencies
Source

stdutils.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.31 stdutils/src/wordseq.lisp

Dependency

shorthand.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.32 stdutils/src/gds.lisp

Dependencies
Source

stdutils.asd.

Parent Component

src (module).

Public Interface

4.1.33 stdutils/src/table.lisp

Dependency

gds.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.34 stdutils/src/iterator.lisp

Dependency

table.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface

iterator (class).

Internals

4.1.35 stdutils/src/assoc-table.lisp

Dependency

iterator.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.36 stdutils/src/hashed-table.lisp

Dependency

assoc-table.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.37 stdutils/src/vector-keyed-table.lisp

Dependency

hashed-table.lisp (file).

Source

stdutils.asd.

Parent Component

src (module).

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 stdutils.system

Source

stdutils.asd.

Use List
  • asdf/interface.
  • common-lisp.

5.2 stdutils

Source

package.lisp.

Use List
  • cl-ppcre.
  • common-lisp.
Used By List

stdutils.gds.

Public Interface
Internals

5.3 split-sequence

The SPLIT-SEQUENCE package provides functionality for Common Lisp sequences analagous to Perl’s split operator.

Source

split-sequence.lisp.

Nickname

partition

Use List

common-lisp.

Public Interface

5.4 stdutils.gds

Source

package.lisp.

Use List
Public Interface
Internals

6 Definitions

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


6.1 Public Interface


6.1.1 Special variables

Special Variable: *default-day*

Function which returns the day of month to assume when there is no day of month. The default value of *DEFAULT-DAY* is a function which returns today’s day of month.

Package

stdutils.

Source

time.lisp.

Special Variable: *default-hour*

Function which returns the hour to assume when there is no hour. The default value of *DEFAULT-HOUR* is a function which returns noon, which is 12.

Package

stdutils.

Source

time.lisp.

Special Variable: *default-language*
Package

stdutils.

Source

time.lisp.

Special Variable: *default-minute*
Package

stdutils.

Source

time.lisp.

Special Variable: *default-month*

Function which returns the month to assume when there is no month. The default value of *DEFAULT-MONTH* is a function which returns the current month.

Package

stdutils.

Source

time.lisp.

Special Variable: *default-recognizers*
Package

stdutils.

Source

time.lisp.

Special Variable: *default-second*
Package

stdutils.

Source

time.lisp.

Special Variable: *default-year*

Function which returns the year to assume when there is no year. The default value of *DEFAULT-YEAR* is a function which returns the current year.

Package

stdutils.

Source

time.lisp.

Special Variable: *default-zone*
Package

stdutils.

Source

time.lisp.

Special Variable: *format-time-date*

Format list for FORMAT-TIME to print a date in a compact, human readable format. It’s the day-of-month, abbreviated month name, & the year.

Package

stdutils.

Source

time.lisp.

Special Variable: *format-time-full*

It’s like ISO format except that it’s supposed to be readable by humans.

Package

stdutils.

Source

time.lisp.

Special Variable: *format-time-iso8601-long*

Format list for FORMAT-TIME to print a date-&-time in the verbose ISO 8061 format. It’s verbose because it separates the fields of the date with -, fields of the time with :, & the date from the time with T. So it is arguably human-readable.

Package

stdutils.

Source

time.lisp.

Special Variable: *format-time-iso8601-short*

Format list for FORMAT-TIME to print a date-&-time in the compact ISO 8061 format. It’s compact because it’s all numbers (as required by the ISO format), & there are no field separators except for the T between the date & the time.

Package

stdutils.

Source

time.lisp.

Special Variable: *format-time-time*

Format list for FORMAT-TIME to print a human-readable time. The hours are on a 24-hour clock.

Package

stdutils.

Source

time.lisp.

Special Variable: self
Package

stdutils.

Source

conditionals.lisp.


6.1.2 Macros

Macro: aand (&rest args)

Makes the prior element in an and available to the next

Package

stdutils.

Source

conditionals.lisp.

Macro: aarec (rec &optional base)

Anaphoric recursion template over arrays

Package

stdutils.

Source

lists.lisp.

Macro: abbrev (short long)

Create an abbreviation for an existing function or macro via macro instantiation

Package

stdutils.

Source

shorthand.lisp.

Macro: abbrevs (&body names)

Map abbrev over a list of name pairs: (ab nam ab nam ...)

Package

stdutils.

Source

shorthand.lisp.

Macro: ablock (tag &rest args)
Package

stdutils.

Source

functions.lisp.

Macro: accumulate (fn &rest lists)
Package

stdutils.

Source

map.lisp.

Macro: accumulate-init (fn init &rest lists)
Package

stdutils.

Source

map.lisp.

Macro: accumulate-int (fn &rest lists)
Package

stdutils.

Source

map.lisp.

Macro: acond (&rest clauses)

Anaphoric cond

Package

stdutils.

Source

conditionals.lisp.

Macro: acond-mv (&rest clauses)

If the second value of a multiple-value return from a clause is true, it is bound to the primary value

Package

stdutils.

Source

conditionals.lisp.

Macro: acond2 (&rest clauses)
Package

stdutils.

Source

conditionals.lisp.

Macro: acond2-mv (&rest clauses)

If the primary value of a multiple-value return from a clause is true, ’it’ is bound to the second value

Package

stdutils.

Source

conditionals.lisp.

Macro: aif (test-form then-form &optional else-form)
Package

stdutils.

Source

conditionals.lisp.

Macro: aif-ret (test-form &body else-form)
Package

stdutils.

Source

conditionals.lisp.

Macro: aif2 (test &optional then else)
Package

stdutils.

Source

conditionals.lisp.

Macro: aif2-ret (test-form &rest else-form)
Package

stdutils.

Source

conditionals.lisp.

Macro: aif2t (test &optional then else)
Package

stdutils.

Source

conditionals.lisp.

Macro: alambda (args &body body)

Allow recursive calls using captured variable ’self’

Package

stdutils.

Source

conditionals.lisp.

Macro: alist-bind (names alist &body body)

Bind names to associated values in assoc-list or nil

Package

stdutils.

Source

shorthand.lisp.

Macro: alrec (rec &optional base)

Anaphoric recursion templates

Package

stdutils.

Source

lists.lisp.

Macro: aprog1 (result-form &body body)
Package

stdutils.

Source

conditionals.lisp.

Macro: apush (key value place)
Package

stdutils.

Source

lists.lisp.

Macro: apushnew (key value place)
Package

stdutils.

Source

lists.lisp.

Macro: as-functions (names &body body)
Package

stdutils.

Source

macros.lisp.

Macro: asetf (accessor-exp new-val-expr)
Package

stdutils.

Source

setf.lisp.

Macro: assoc-del (value place)
Package

stdutils.

Source

lists.lisp.

Macro: assoc-setf (place key value &optional test)
Package

stdutils.

Source

lists.lisp.

Macro: atrec (rec &optional base)
Package

stdutils.

Source

lists.lisp.

Macro: awhen (test-form &body body)
Package

stdutils.

Source

conditionals.lisp.

Macro: awhen-null (test-form default-value)
Package

stdutils.

Source

conditionals.lisp.

Macro: awhen0 (test-form when-zero-form)
Package

stdutils.

Source

conditionals.lisp.

Macro: awhen2 (test &body body)
Package

stdutils.

Source

conditionals.lisp.

Macro: awhen2t (test &body body)
Package

stdutils.

Source

conditionals.lisp.

Macro: awhile (expr &body body)
Package

stdutils.

Source

conditionals.lisp.

Macro: awhile2 (test &body body)
Package

stdutils.

Source

conditionals.lisp.

Macro: case-match-bind (data &rest cases)

Produces an expression that when evaluated takes the value of ’data’ and tries to perform a match using the static patterns in the car of each case in cases. If the pattern matches, it’s variable names are bound to the matched values in the environment of the body expression of that case.

(setf var ’(1 2 3))
(case-match-bind var ((?A) ?A) ((?A ?B) ?B)) ==> 2

(setf pat1 ’(?A))
(case-match-bind var (pat1 ?A) ((?A ?B) ?B)) ==> error

Package

stdutils.

Source

match.lisp.

Macro: clear-tag (place tag)
Package

stdutils.

Source

setf.lisp.

Macro: copy-slots ((src target) &rest alist)
Package

stdutils.

Source

clos.lisp.

Macro: create-object-cache (&rest rest &key type size test &allow-other-keys)
Package

stdutils.

Source

cache.lisp.

Macro: create-set-method-inst (op-type name args list-form hash-form)
Package

stdutils.

Source

collections.lisp.

Macro: dbind (binds call &body body)
Package

stdutils.

Source

shorthand.lisp.

Macro: def-simple-accessor (name args body)
Package

stdutils.

Source

macros.lisp.

Macro: defanaph (name &optional calls)
Package

stdutils.

Source

iteration2.lisp.

Macro: defclass+ (name superclasses slots &rest options)
Package

stdutils.

Source

clos.lisp.

Macro: defclass+-exported (name superclasses slots &rest options)
Package

stdutils.

Source

clos.lisp.

Macro: defclass-exported (classname superclasses slots &rest options)

Exports the class name and all defined accessors using reflection

Package

stdutils.

Source

system.lisp.

Macro: defconstant-exported (name &rest args)
Package

stdutils.

Source

system.lisp.

Macro: defexport (defdef name &rest rest)
Package

stdutils.

Source

system.lisp.

Macro: defgeneric-exported (name lambda-list &rest args)
Package

stdutils.

Source

system.lisp.

Macro: defmacro-exported (name pattern &body body)
Package

stdutils.

Source

system.lisp.

Macro: defmethod+ (type method args &rest body)
Package

stdutils.

Source

clos.lisp.

Macro: defmethod+-exported (type method args &rest body)
Package

stdutils.

Source

clos.lisp.

Macro: defmethod-exported (method-spec lambda-list &body body)
Package

stdutils.

Source

system.lisp.

Macro: defprotocol (name oplist &optional args)
Package

stdutils.gds.

Source

gds.lisp.

Macro: defsetf-exported (name function)
Package

stdutils.

Source

system.lisp.

Macro: defstruct-exported (structname superclasses slots &rest options)

Exports the structure and related accessors using reflection

Package

stdutils.

Source

system.lisp.

Macro: defsubst (function lambda-list &body body)
Package

stdutils.

Source

system.lisp.

Macro: defsubst-exported (function lambda-list &body body)
Package

stdutils.

Source

system.lisp.

Macro: deftaglist (name &key test)

A def macro form for the defun make-taglist

Package

stdutils.

Source

collections.lisp.

Macro: defun-exported (function-spec lambda-list &body body)
Package

stdutils.

Source

system.lisp.

Macro: defun-memo (fn args &body body)

Define a memoized function

Package

stdutils.

Source

functions.lisp.

Macro: defun-memo1 (fn args &body body)

Define a memoized function

Package

stdutils.

Source

functions.lisp.

Macro: defun-rec (name parms &body body)
Package

stdutils.

Source

functions.lisp.

Macro: defvar-exported (name &rest args)
Package

stdutils.

Source

system.lisp.

Macro: dis1 (args &body body)
Package

stdutils.

Source

macros.lisp.

Macro: do-collect-vector-matches ((start-label end-label pattern) (&rest vectors) &rest body)

The pattern must be state, ie a quoted list or a previously-defined variable

Package

stdutils.

Source

match.lisp.

Macro: do-contentful-lines ((label stream &key count) &rest body)
Package

stdutils.

Source

file.lisp.

Macro: do-count-contentful-lines ((line-var count-var stream) &rest body)
Package

stdutils.

Source

file.lisp.

Macro: do-file (filename &body body)
Package

stdutils.

Source

file.lisp.

Macro: do-hash ((k v hash) &body body)
Package

stdutils.

Source

hashutil.lisp.

Macro: do-iterator ((var struct) &body body)
Package

stdutils.gds.

Source

gds.lisp.

Macro: do-matrix ((row col matrix) &body body)
Package

stdutils.

Source

matrix.lisp.

Macro: do-matrix-columns ((col matrix) &body body)
Package

stdutils.

Source

matrix.lisp.

Macro: do-matrix-rows ((row matrix) &body body)
Package

stdutils.

Source

matrix.lisp.

Macro: do-stream-lines ((label stream) &rest body)
Package

stdutils.

Source

file.lisp.

Macro: do-table ((key value table) &body body)
Package

stdutils.gds.

Source

table.lisp.

Macro: do-tuples/c (parms source &body body)
Package

stdutils.

Source

iteration2.lisp.

Macro: do-tuples/o (parms source &body body)
Package

stdutils.

Source

iteration2.lisp.

Macro: dohash ((elem hash) &body body)
Package

stdutils.

Source

hashutil.lisp.

Macro: dolist-times ((var list times &optional result) &rest body)

Iterate over a list up to ’times’ times

Package

stdutils.

Source

iteration.lisp.

Macro: doseq ((var seq &optional result) &rest body)

Iterate over a sequence assigning var the value of each subsequent element

Package

stdutils.

Source

iteration.lisp.

Macro: dotimes-unrolled ((var init countform blocking &optional resultform) &body body)

An unrolling macro that speeds up do loops by writing an unrolled version, blocking determines the unrolled block size in original loop statements.

Package

stdutils.

Source

iteration.lisp.

Macro: dowords ((var wseq &optional result) &rest body)

(dowords (var result) seq &rest body) This macro iterates through the string representation of the words in wseq.

Package

stdutils.

Source

wordseq.lisp.

Macro: ensure-a-value (place value)

Ensures that place, if nil, has value

Package

stdutils.

Source

setf.lisp.

Macro: error-on-null (exp &rest error-args)
Package

stdutils.

Source

conditionals.lisp.

Macro: filter-if (ff lst &key key)

Remove the elements from the list that satisfy predicate. Filter here is in the signal processing sense, filter away

Package

stdutils.

Source

lists.lisp.

Macro: for ((var start stop) &body body)
Package

stdutils.

Source

iteration.lisp.

Macro: gen-everyp (pred)

Creates a predicate that ensures pred is satisfied for all elements in a list

Package

stdutils.

Source

conditionals.lisp.

Macro: has-key? (hash key)
Package

stdutils.

Source

hashutil.lisp.

Macro: has-tag (place tag)
Package

stdutils.

Source

setf.lisp.

Macro: hash (&key test rehash-size keyvals hash)
Package

stdutils.

Source

hashutil.lisp.

Macro: hash-clear (hash)
Package

stdutils.

Source

hashutil.lisp.

Macro: hash-clr (hash)
Package

stdutils.

Source

hashutil.lisp.

Macro: hash-get (hash key)
Package

stdutils.

Source

hashutil.lisp.

Macro: hash-mapulate (hash f values)
Package

stdutils.

Source

hashutil.lisp.

Macro: hash-mapulate-value (hash f keys)
Package

stdutils.

Source

hashutil.lisp.

Macro: hash-populate (hash kvlist)
Package

stdutils.

Source

hashutil.lisp.

Macro: hash-put (hash key value)
Package

stdutils.

Source

hashutil.lisp.

Macro: hash-rem (hash key)
Package

stdutils.

Source

hashutil.lisp.

Macro: hashset-difference (hset1 hset2)
Package

stdutils.

Source

hashutil.lisp.

Macro: hashset-intersection (hset1 hset2)
Package

stdutils.

Source

hashutil.lisp.

Macro: hashset-union (hset1 hset2)
Package

stdutils.

Source

hashutil.lisp.

Macro: if* (&rest args)
Package

stdutils.

Source

ifstar.lisp.

Macro: if-match (pat seq then &optional else)
Package

stdutils.

Source

match.lisp.

Macro: ifret (test-form &rest else-form)
Package

stdutils.

Source

conditionals.lisp.

Macro: intern-format (format-string &rest format-args)

This interns a string defined by format-string into the current package

Package

stdutils.

Source

system.lisp.

Macro: intern-format-pkg (pkg format-string &rest format-args)

This takes an explicit package and interns a string defined by format-string

Package

stdutils.

Source

system.lisp.

Macro: mac1 (expr)

Abbreviation for macroexpand-1

Package

stdutils.

Source

macros.lisp.

Macro: make-regex-replace-filter (regex subst &optional comment)
Package

stdutils.

Source

regex.lisp.

Macro: make-regex-verify-filter (regex &optional comment)
Package

stdutils.

Source

regex.lisp.

Macro: map-> (fn start test-fn succ-fn)

A general map function to assemble a map operation over arbitrary sequences. It takes an initial value ’start’, a completion test function and a successor function which computes the next value

Package

stdutils.

Source

map.lisp.

Macro: map-across (fn array)
Package

stdutils.

Source

map.lisp.

Macro: map-across-idx (fn array)
Package

stdutils.

Source

map.lisp.

Macro: map-across-n (fn array n)
Package

stdutils.

Source

map.lisp.

Macro: map0-n (fn n)

map over the integers from 0 to n

Package

stdutils.

Source

map.lisp.

Macro: mapa-b (fn a b &optional step)

map over the integers from a to b

Package

stdutils.

Source

map.lisp.

Macro: mapwords (fn wseq)
Package

stdutils.

Source

wordseq.lisp.

Macro: multiple-intersection (passed-lists &rest rest)

Takes the intersection of one or more lists. If one list is passed, returns that list. Keylist accepts :key, :test, and :test-not

Package

stdutils.

Source

lists.lisp.

Macro: mvbind (binds call &body body)
Package

stdutils.

Source

shorthand.lisp.

Macro: mvdo (binds (test &rest result) &body body)
Package

stdutils.

Source

iteration2.lisp.

Macro: mvdo* (parm-cl test-cl &body body)
Package

stdutils.

Source

iteration2.lisp.

Macro: mvpsetq (&rest args)
Package

stdutils.

Source

iteration2.lisp.

Macro: mvretn (num expr)

Returning the num’th value from a multi value returning expression, expr

Package

stdutils.

Source

shorthand.lisp.

Macro: mvsetq (&body args)
Package

stdutils.

Source

shorthand.lisp.

Macro: nand (&rest forms)

Return nil iff all are non-nil

Package

stdutils.

Source

conditionals.lisp.

Macro: ncurry (fn &rest def-args)
Package

stdutils.

Source

functions.lisp.

Macro: nhashset-union (hset1 hset2)
Package

stdutils.

Source

hashutil.lisp.

Macro: nif (expr pos zero neg)
Package

stdutils.

Source

conditionals.lisp.

Macro: nor (&rest forms)

Return true iff all nil

Package

stdutils.

Source

conditionals.lisp.

Macro: noret (&body body)

Execute form and return t for any value or nil

Package

stdutils.

Source

conditionals.lisp.

Macro: nullit (expr)

Good for interaction at the repl; return null to the invoking expression regardless of the return value of expr

Package

stdutils.

Source

macros.lisp.

Macro: on-array (rec base &rest arrays)

Utility to build functions that walk arrays

Package

stdutils.

Source

lists.lisp.

Macro: on-cdrs (rec base &rest lsts)

Utility to defun anaphoric recursion functions over lists

Package

stdutils.

Source

lists.lisp.

Macro: on-trees (rec base &rest trees)
Package

stdutils.

Source

lists.lisp.

Macro: one-only (&body exprs)

If only one-value is non-nil, return that value

Package

stdutils.

Source

conditionals.lisp.

Macro: paralet (assignments &body body)
Package

stdutils.

Source

macros.lisp.

Macro: poplast (place)

Remove the last element from the list and return it

Package

stdutils.

Source

lists.lisp.

Macro: prod-list (list)
Package

stdutils.

Source

map.lisp.

Macro: propmacro (propname)

Create a macro that gets a specific property from the property list of a symbol

Package

stdutils.

Source

macros.lisp.

Macro: propmacros (&rest props)

Create multiple property get macros

Package

stdutils.

Source

macros.lisp.

Macro: pushlast (value place)
Package

stdutils.

Source

lists.lisp.

Macro: random-choice (&rest exprs)

A random choice from a set of expressions

Package

stdutils.

Source

random.lisp.

Macro: retset (variable form)
Package

stdutils.

Source

conditionals.lisp.

Macro: rotate (place)
Package

stdutils.

Source

lists.lisp.

Macro: set-tag (place tag)
Package

stdutils.

Source

setf.lisp.

Macro: string-append (outputstr &rest args)
Package

stdutils.

Source

strings.lisp.

Macro: sum-list (list)
Package

stdutils.

Source

map.lisp.

Macro: till (test &body body)
Package

stdutils.

Source

iteration.lisp.

Macro: vcurry (fn pattern &rest orig-args)

Pattern determines the calling arglist over fn where nils are replaced with arguments to the new lambda in order and vars are replaced with the arguments in args in order

Package

stdutils.

Source

functions.lisp.

Macro: vector-match1 (pattern vector &optional start-index)

Match pattern over vector starting at start-index.

Package

stdutils.

Source

match.lisp.

Macro: when-bind ((var expr) &body body)
Package

stdutils.

Source

macros.lisp.

Macro: when-bind* (binds &body body)
Package

stdutils.

Source

macros.lisp.

Macro: while (test &body body)
Package

stdutils.

Source

iteration.lisp.

Macro: with-accessors+ (slots &rest body)
Package

stdutils.

Source

clos.lisp.

Macro: with-array (pat ar &body body)
Package

stdutils.

Source

macros.lisp.

Macro: with-assocs (names alist &body body)

Associates a symbol with it’s equivalent in the alist. Also matches keyword versions of the symbol to make it simpler for parsing most static datastructures you might want to use this for Beware if this isn’t what you want.

Package

stdutils.

Source

system.lisp.

Macro: with-gensyms (syms &body body)
Package

stdutils.

Source

system.lisp.

Macro: with-keywords (names list &body body)

Bind keyword names to values from a list of alternating keyword value pairs

Package

stdutils.

Source

system.lisp.

Macro: with-matrix (pats ar &body body)
Package

stdutils.

Source

macros.lisp.

Macro: with-print-clock-cycles ((cpu-ghz &key norm-f unit-name) &rest body)
Package

stdutils.

Source

prof.lisp.

Macro: with-print-elapsed-time ((&key base-units norm-f unit-name) &rest body)

Does not handle bodies that return multiple values. Returns seconds elapsed unless you set base-units to 1/N seconds

Package

stdutils.

Source

prof.lisp.

Macro: with-slots+ (slots &rest body)
Package

stdutils.

Source

clos.lisp.

Macro: with-string-stream ((label) &rest body)

Binds label to a string output stream and returns the string representing the writes to that stream

Package

stdutils.

Source

strings.lisp.

Macro: with-struct ((name . fields) struct &body body)
Package

stdutils.

Source

macros.lisp.

Macro: with-struct-slots ((name . fields) struct &body body)
Package

stdutils.

Source

macros.lisp.

Macro: xor (&rest forms)

Return the non-nil value iff only one value is true

Package

stdutils.

Source

conditionals.lisp.


6.1.3 Compiler macros

Compiler Macro: partition (&rest args)
Package

split-sequence.

Source

split-sequence.lisp.

Compiler Macro: partition-if (&rest args)
Package

split-sequence.

Source

split-sequence.lisp.

Compiler Macro: partition-if-not (&rest args)
Package

split-sequence.

Source

split-sequence.lisp.


6.1.4 Setf expanders

Setf Expander: (setf assoc-get) (key value list &optional test)
Package

stdutils.

Source

lists.lisp.

Reader

assoc-get (function).

Writer

assoc-put (function).


6.1.5 Ordinary functions

Function: =wseq (ws1 ws2)
Package

stdutils.

Source

wordseq.lisp.

Function: >wseq (ws1 ws2)
Package

stdutils.

Source

wordseq.lisp.

Function: accum (fn init &rest lists)
Package

stdutils.

Source

map.lisp.

Function: accumulate-list (fn list)

Map a binary operation over a list, accumulating the incremental results fn(fn(1,2),3)...

Package

stdutils.

Source

map.lisp.

Function: add-matrix (&rest matrices)

Add matrices

Package

stdutils.

Source

matrix.lisp.

Function: add-sql-quotes (s)
Package

stdutils.

Source

strings.lisp.

Function: after (x y lst &key test)

Returns true if any y occurs before the first x in lst

Package

stdutils.

Source

lists.lisp.

Function: anaphex (args expr)
Package

stdutils.

Source

iteration2.lisp.

Function: anaphex1 (args call)
Package

stdutils.

Source

macros.lisp.

Function: anaphex2 (op args)
Package

stdutils.

Source

macros.lisp.

Function: anaphex3 (op args)
Package

stdutils.

Source

macros.lisp.

Function: append-sublists (list)

Takes a list of lists and appends all sublists

Package

stdutils.

Source

lists.lisp.

Function: append1 (lst obj)
Package

stdutils.

Source

map.lisp.

Function: arec (rec &optional base)

Walks an array as in lrec, base case is end of array

Package

stdutils.

Source

lists.lisp.

Function: array->list (array)
Package

stdutils.

Source

lists.lisp.

Function: assoc-find (value list &optional test)
Package

stdutils.

Source

lists.lisp.

Function: assoc-get (key list &optional test)
Package

stdutils.

Source

lists.lisp.

Setf expander for this function

(setf assoc-get).

Function: assoc-put (key value list &optional test)
Package

stdutils.

Source

lists.lisp.

Setf expanders to this function

(setf assoc-get).

Function: assoc-rem (value list)
Package

stdutils.

Source

lists.lisp.

Function: before (x y lst &key test)

Returns true if an x occurs before the first y in lst

Package

stdutils.

Source

lists.lisp.

Function: best (fn lst)

Get the best element from list using fn as a comparison of list elements. fn returns nul if first object fails or the object if it wins.

Package

stdutils.

Source

lists.lisp.

Function: break-list (item list &key key test discard)

Destructive version of split-list

Package

stdutils.

Source

lists.lisp.

Function: cars (list)
Package

stdutils.

Source

map.lisp.

Function: cddrs (list)
Package

stdutils.

Source

map.lisp.

Function: cdrs (list)
Package

stdutils.

Source

map.lisp.

Function: charhex (ch)

convert hex character to decimal

Package

stdutils.

Source

strings.lisp.

Function: clear-matrix (matrix value)

Set every element of matrix to an initial-value

Package

stdutils.

Source

matrix.lisp.

Function: collapse-whitespace (s)

Convert multiple whitespace characters to a single space character.

Package

stdutils.

Source

strings.lisp.

Function: collect (fn list)

cons together non-nil results

Package

stdutils.

Source

map.lisp.

Function: collect-offsets (list)
Package

stdutils.

Source

lists.lisp.

Function: collectn (fn list &rest lists)
Package

stdutils.

Source

map.lisp.

Function: combinations (&rest lists)

Create a list for each combination formed of an element from each provided list. ie (list-combinations ’(a b c) ’(d e)) => ’((a d) (a e) (b d) (b e) (c d) (c e))

Package

stdutils.

Source

lists.lisp.

Function: compile-pattern (pattern &key elt cmp atom-type)
Package

stdutils.

Source

match.lisp.

Function: compose (&rest fns)

Function composition.

Package

stdutils.

Source

functions.lisp.

Function: conc1 (lst obj)
Package

stdutils.

Source

map.lisp.

Function: concat-separated-strings (separator &rest lists)
Package

stdutils.

Source

strings.lisp.

Function: cons->list (list)

Convert a list of cons cells to a list of two-element lists, i.e. (a . b) => (a b)

Package

stdutils.

Source

lists.lisp.

Function: constituent (c)
Package

stdutils.

Source

tokenizer.lisp.

Function: copy-matrix (matrix)

Return a copy of the matrix.

Package

stdutils.

Source

matrix.lisp.

Function: count-leaves (tree &key count-last-nil)
Package

stdutils.

Source

lists.lisp.

Function: count-lisp-files (directory &key extension ignore-comments ignore-strings print-files print-dirs ignore-dirs)

Line count for all lisp files under provided directory

Package

stdutils.

Source

file.lisp.

Function: count-lisp-lines (filename &key ignore-comments ignore-strings)
Package

stdutils.

Source

file.lisp.

Function: count-string-char (s c)

Return a count of the number of times a character appears in a string

Package

stdutils.

Source

strings.lisp.

Function: count-string-char-if (pred s)

Return a count of the number of times a predicate is true for characters in a string

Package

stdutils.

Source

strings.lisp.

Function: count-string-words (str)
Package

stdutils.

Source

strings.lisp.

Function: create-set-method-if ()
Package

stdutils.

Source

collections.lisp.

Function: curry (fn arg)
Package

stdutils.

Source

functions.lisp.

Function: curry2 (fn arg)
Package

stdutils.

Source

functions.lisp.

Function: dbind-ex (binds body)
Package

stdutils.

Source

macros.lisp.

Function: decode-uri-string (query)

Unescape non-alphanumeric characters for URI fields

Package

stdutils.

Source

strings.lisp.

Function: delimited-string-to-list (string &optional separator skip-terminal)

split a string with delimiter

Package

stdutils.

Source

strings.lisp.

Function: directory-pathname (file)

Return the path of the directory of the file.

Package

stdutils.

Source

file.lisp.

Function: disjunction (set1 set2)

Compute the non-intersecting elements of set1 and set2

Package

stdutils.

Source

lists.lisp.

Function: distinct (list &key test key)

Create a reduced list which groups all equal terms in the original into sublists (1 2 2 3 3 3 4) => ((1) (2 2) (3 3 3) (4))

Package

stdutils.

Source

lists.lisp.

Function: distribute (rows)

distributes each element of each row into a separate contiguous list, like inverting an array

Package

stdutils.

Source

lists.lisp.

Function: dt-args (len rest src)
Package

stdutils.

Source

iteration2.lisp.

Function: duplicate (obj lst &key test)
Package

stdutils.

Source

lists.lisp.

Function: eliminate-matrix (matrix rows cols)

Gaussian elimination with partial pivoting.

Package

stdutils.

Source

matrix.lisp.

Function: encode-uri-string (query)

Escape non-alphanumeric characters for URI fields

Package

stdutils.

Source

strings.lisp.

Function: ensure-string (v)
Package

stdutils.

Source

strings.lisp.

Function: escape-backslashes (s)
Package

stdutils.

Source

strings.lisp.

Function: escape-xml-string (string)

Escape invalid XML characters

Package

stdutils.

Source

strings.lisp.

Function: exchange-rows (matrix row-i row-j)

Exchange row-i and row-j of a matrix

Package

stdutils.

Source

matrix.lisp.

Function: explode (sym)

Turn a symbol into a list of the constitutent characters of its name

Package

stdutils.

Source

lists.lisp.

Function: extract-tagged-words (tagspec sentence)
Package

stdutils.

Source

tokenizer.lisp.

Function: extract-tokens (str test &optional start)

Returns a list of the subsequences satisfying test, characters failing the test are treated as whitespace.

Package

stdutils.

Source

tokenizer.lisp.

Function: extract-words (str &optional start)
Package

stdutils.

Source

tokenizer.lisp.

Function: factorial (n)
Package

stdutils.

Source

math.lisp.

Function: fast-array-copy (a1 a2 start count)

Unsafe array copy

Package

stdutils.

Source

arrays.lisp.

Function: fast-string-search (substr str substr-length startpos endpos)

Optimized search for a substring in a simple-string

Package

stdutils.

Source

strings.lisp.

Function: filter (fn lst)

Extract elements on which fn returns true

Package

stdutils.

Source

lists.lisp.

Function: filter-text (text filters &key debug)

Successively applies a filter function from list to text and the next filter to the result of the prior

Package

stdutils.

Source

regex.lisp.

Function: find-all-patterns (pattern vector)
Package

stdutils.

Source

match.lisp.

Function: find2 (fn lst)

returns two values, the first element in lst on which fn returns a non-null value and the value so returned.

Package

stdutils.

Source

lists.lisp.

Function: first-char (s)
Package

stdutils.

Source

strings.lisp.

Function: first-nonwhite-char (string)

Find the first non-whitespace character on this line

Package

stdutils.

Source

file.lisp.

Function: flatten (x)

Turn a cons tree in to a list

Package

stdutils.

Source

lists.lisp.

Function: flatten1 (x)

Flatten a list by removing only one level

Package

stdutils.

Source

lists.lisp.

Function: fn-compose (&rest fns)
Package

stdutils.

Source

functions.lisp.

Function: fn-sequence (&rest fns)

Function sequencing with shared args

Package

stdutils.

Source

functions.lisp.

Function: force-wseq-word (word)
Package

stdutils.

Source

wordseq.lisp.

Function: format-time-string (strm fmt &optional ut zone language)
Package

stdutils.

Source

time.lisp.

Function: gather (&rest columns)

Gathers top elements from each column in columns and groups them in order, like inverting an array

Package

stdutils.

Source

lists.lisp.

Function: gather-pairs (list1 list2)
Package

stdutils.

Source

lists.lisp.

Function: generate-code-search (pattern &key elt cmp atom-type)
Package

stdutils.

Source

match.lisp.

Function: gensyms (num &key last)

Returns a list of ’num’ gensysms

Package

stdutils.

Source

shorthand.lisp.

Function: gensyms-ignorable (symlist)

Generates ignorable declarations for a list of gensyms

Package

stdutils.

Source

shorthand.lisp.

Function: group (list num)

Returns a list of sub-lists, each sublist being the next ’num’ of the source list. Lists that are not multiples of ’num’ will have a truncated final list.

Package

stdutils.

Source

lists.lisp.

Function: hash-contains (this key)
Package

stdutils.

Source

hashutil.lisp.

Function: hash-empty? (hash)
Package

stdutils.

Source

hashutil.lisp.

Function: hash-eq? (h1 h2)
Package

stdutils.

Source

hashutil.lisp.

Function: hash-get_length (this)
Package

stdutils.

Source

hashutil.lisp.

Function: hash-get_rehash_size (this)
Package

stdutils.

Source

hashutil.lisp.

Function: hash-get_test (this)
Package

stdutils.

Source

hashutil.lisp.

Function: hash-items (hash)

Return the alist with the same data as the hash-table.
Like alist->hash-table but the first element is not the test: ’(key0 . val0) (key1 . val1).

Package

stdutils.

Source

hashutil.lisp.

Function: hash-keys (hash)
Package

stdutils.

Source

hashutil.lisp.

Function: hash-new_copy (this)
Package

stdutils.

Source

hashutil.lisp.

Function: hash-push (hash key value)
Package

stdutils.

Source

hashutil.lisp.

Function: hash-sure_get (this key)
Package

stdutils.

Source

hashutil.lisp.

Function: hash-sure_set (this key value)
Package

stdutils.

Source

hashutil.lisp.

Function: hash-values (hash)
Package

stdutils.

Source

hashutil.lisp.

Function: hashset-populate (hset list &key key)
Package

stdutils.

Source

hashutil.lisp.

Function: hexchar (n)
Package

stdutils.

Source

strings.lisp.

Function: init-wseq ()
Package

stdutils.

Source

wordseq.lisp.

Function: integer-combinations (n m)

(n C m) from classic combinatorics. Number of unique ordered sets

Package

stdutils.

Source

math.lisp.

Function: integer-permutations (n m)

(n P m) from classic combinatorics. Number of unique unordered sets

Package

stdutils.

Source

math.lisp.

Function: integer-permutations-repeated (n m repeats)

Permutations with repeated elements. Repeats is the number of subsets of N that are counted as identical under permutation

Package

stdutils.

Source

math.lisp.

Function: integer-string (num len)

Outputs a string of LEN digit with an optional initial character PCHAR. Leading zeros are present.

Package

stdutils.

Source

strings.lisp.

Function: intersections (&rest sets)
Package

stdutils.

Source

lists.lisp.

Function: invert-matrix (matrix &optional destructive)

Find the inverse of a matrix. By default this operation is destructive. If you want to preserve the original matrix, call this function with an argument of NIL to destructive.

Package

stdutils.

Source

matrix.lisp.

Function: is-char-whitespace (c)
Package

stdutils.

Source

strings.lisp.

Function: is-string-empty (str)
Package

stdutils.

Source

strings.lisp.

Function: is-string-whitespace (str)

Return t if string is all whitespace

Package

stdutils.

Source

strings.lisp.

Function: keep-keywords (list keywords)

Keep only specified keywords from a keylist

Package

stdutils.

Source

system.lisp.

Function: last-char (s)
Package

stdutils.

Source

strings.lisp.

Function: last1 (lst)
Package

stdutils.

Source

map.lisp.

Function: lex-string (string &key whitespace)

Separates a string at whitespace and returns a list of strings

Package

stdutils.

Source

strings.lisp.

Function: limit-max (limit value)
Package

stdutils.

Source

math.lisp.

Function: limit-min (limit value)
Package

stdutils.

Source

math.lisp.

Function: list->array (list &key adjustable type)
Package

stdutils.

Source

lists.lisp.

Function: list-max (list)
Package

stdutils.

Source

lists.lisp.

Function: list-structure (list)
Package

stdutils.

Source

lists.lisp.

Function: list-to-delimited-string (list &optional separator)
Package

stdutils.

Source

strings.lisp.

Function: list-to-string (lst)

Converts a list to a string, doesn’t include any delimiters between elements

Package

stdutils.

Source

strings.lisp.

Function: localize-expression (exp &key package exceptions)
Package

stdutils.

Source

lists.lisp.

Function: localize-symbol (sym &key package exceptions ignore-keywords)
Package

stdutils.

Source

system.lisp.

Function: longer (x y)

Is x longer than y?

Package

stdutils.

Source

lists.lisp.

Function: lrec (rec &optional base)

Guides a list recursion process and takes
recursive functions of x = car and fn = recursive call the terminal end of list case returns the value of base. Beware of non-tail recursive implementation

Package

stdutils.

Source

lists.lisp.

Function: make-identity-matrix (size)

Make an identity matrix of the specified size.

Package

stdutils.

Source

matrix.lisp.

Function: make-matrix (rows &optional cols)

Create a matrix filled with zeros. If only one parameter is specified the matrix will be square.

Package

stdutils.

Source

matrix.lisp.

Function: make-taglist (&optional test)

Simple data structure ’taglist’. This function creates an object that can provide a unique tag for each unique object as determined under test. Conceptually a uniqueified alist intended for small sets of objects

Package

stdutils.

Source

collections.lisp.

Function: make-ticker (&optional ticks-per-sec)
Package

stdutils.

Source

prof.lisp.

Function: make-timer ()
Package

stdutils.

Source

prof.lisp.

Function: make-timer-remaining-by-count (total)
Package

stdutils.

Source

prof.lisp.

Function: make-usb8-array (len)
Package

stdutils.

Source

strings.lisp.

Function: make-wseq (str)
Package

stdutils.

Source

wordseq.lisp.

Function: map-all-combinations (function &rest lists)

Applies function to every combination of the elements of the lists provided. (function) should recieve a single list as a parameter. Don’t count on the order of application. Beware! This is an n^(huge) power function! Use carefully.

Package

stdutils.

Source

lists.lisp.

Function: mapcar-idx (fn list)
Package

stdutils.

Source

map.lisp.

Function: mapcars (fn &rest lsts)
Package

stdutils.

Source

map.lisp.

Function: mappend (fn &rest lsts)
Package

stdutils.

Source

map.lisp.

Function: match (x y &optional binds)
Package

stdutils.

Source

match.lisp.

Function: matrixp (matrix)

Test whether the argument is a matrix

Package

stdutils.

Source

matrix.lisp.

Function: max-array (array &optional start)
Package

stdutils.

Source

lists.lisp.

Function: maxmin (args)
Package

stdutils.

Source

lists.lisp.

Function: memoize (fn)
Package

stdutils.

Source

functions.lisp.

Function: memoize1 (fn)
Package

stdutils.

Source

functions.lisp.

Function: merge-or-regex-strings (list &optional operation)

Combine multiple strings by concatenting a separator, such as an OR for or’ing together regular expressions.

Package

stdutils.

Source

regex.lisp.

Function: mkkeysym (text)
Package

stdutils.

Source

shorthand.lisp.

Function: mklist (obj)

Make into list if atom

Package

stdutils.

Source

lists.lisp.

Function: mkstr (&rest args)
Package

stdutils.

Source

strings.lisp.

Function: mksymbol (&rest component-names)
Package

stdutils.

Source

shorthand.lisp.

Function: mkupsymbol (&rest component-names)
Package

stdutils.

Source

shorthand.lisp.

Function: most (fn lst)

Get the highest scoring element from list using
fn as the scoring routine. If there are multiple elements with the highest score this gets the first.

Package

stdutils.

Source

lists.lisp.

Function: mostn (fn lst)

Get the highest scoring elements from list using fn as the scoring routine.

Package

stdutils.

Source

lists.lisp.

Function: multiply-matrix (&rest matrices)

Multiply matrices

Package

stdutils.

Source

matrix.lisp.

Function: mvdo-gen (binds rebinds test body)
Package

stdutils.

Source

iteration2.lisp.

Function: mvdo-rebind-gen (rebinds)
Package

stdutils.

Source

iteration2.lisp.

Function: ndistinct (list &key test key)

Like distinct, but performs a destructive sort on the original list

Package

stdutils.

Source

lists.lisp.

Function: neq (a b)
Package

stdutils.

Source

conditionals.lisp.

Function: neql (a b)
Package

stdutils.

Source

conditionals.lisp.

Function: nequal (a b)
Package

stdutils.

Source

conditionals.lisp.

Function: nequalp (a b)
Package

stdutils.

Source

conditionals.lisp.

Function: nflatten (tree)
Package

stdutils.

Source

lists.lisp.

Function: nmerge-duplicates (func list &key test)

Destructively walks the list and when test applies between the head and any remaining element it applies func to the two elements, makes that the newly accumulated value (replacing all instances of matches to the head) and then compares the original element again to the remainder of the list. The choice of ’head’ comparison with the original head value is for numerical quantities, ie: (nmerge-duplicates #’+ ’(1 2 3 1 2 3 4 5 5 4) :test #’=) ==> ’(2 4 6 8 10)

Package

stdutils.

Source

lists.lisp.

Function: non-alphanumericp (ch)
Package

stdutils.

Source

strings.lisp.

Function: nstring-trim-last-character (s)

Return the string less the last character

Package

stdutils.

Source

strings.lisp.

Function: num-cols (matrix)

Return the number of rows of a matrix

Package

stdutils.

Source

matrix.lisp.

Function: num-rows (matrix)

Return the number of rows of a matrix

Package

stdutils.

Source

matrix.lisp.

Function: only-null-list-elements-p (lst)
Package

stdutils.

Source

strings.lisp.

Function: pairs (list)

Take each set of two elements in the list and make a list one half the size containing a pair of each two items

Package

stdutils.

Source

lists.lisp.

Function: parallel-expand (keyword body)
Package

stdutils.

Source

macros.lisp.

Function: parse-time-string (str &optional recognizers)
Package

stdutils.

Source

time.lisp.

Function: partition (&rest args)

PARTITION is deprecated; use SPLIT-SEQUENCE instead.

Package

split-sequence.

Source

split-sequence.lisp.

Function: partition-if (&rest args)

PARTITION-IF is deprecated; use SPLIT-SEQUENCE-IF instead.

Package

split-sequence.

Source

split-sequence.lisp.

Function: partition-if-not (&rest args)

PARTITION-IF-NOT is deprecated; use SPLIT-SEQUENCE-IF-NOT instead.

Package

split-sequence.

Source

split-sequence.lisp.

Function: pop-symbol (sym)
Package

stdutils.

Source

macros.lisp.

Function: position-char (char string start max)
Package

stdutils.

Source

strings.lisp.

Function: position-not-char (char string start max)
Package

stdutils.

Source

strings.lisp.

Function: prefixed-fixnum-string (num pchar len)

Outputs a string of LEN digit with an optional initial character PCHAR. Leading zeros are present.

Package

stdutils.

Source

strings.lisp.

Function: print-matrix (matrix &optional destination control-string)

Print a matrix. The optional control string indicates how each entry should be printed.

Package

stdutils.

Source

matrix.lisp.

Function: print-separated-strings (strm separator &rest lists)
Package

stdutils.

Source

strings.lisp.

Function: prune (test tree)
Package

stdutils.

Source

lists.lisp.

Function: quote-tokenize (string)
Package

stdutils.

Source

tokenizer.lisp.

Function: random-char (&optional set)
Package

stdutils.

Source

strings.lisp.

Function: random-element (list)

Choose a random element from the list and return it

Package

stdutils.

Source

random.lisp.

Function: random-fraction-list (precision n)
Package

stdutils.

Source

random.lisp.

Function: random-integer-list (lower upper n)
Package

stdutils.

Source

random.lisp.

Function: random-order (list)

Return a new list in a random order; This may not be ’truely’ random

Package

stdutils.

Source

random.lisp.

Function: random-string (&key length set)

Returns a random lower-case string.

Package

stdutils.

Source

strings.lisp.

Function: random-subset (list size)

Extract a random subset by percent (size < 1)
and return two values, the subset and the remainder set - order is not maintained

Package

stdutils.

Source

random.lisp.

Function: read2 (&optional str)
Package

stdutils.

Source

file.lisp.

Function: recognize-fmt (strm fmt-lst)

STRM is an input stream to parse. FMT-LST is list of terms from fmt string.

Package

stdutils.

Source

time.lisp.

Function: rem-keywords (list keywords)

Remove keywords from a keylist

Package

stdutils.

Source

system.lisp.

Function: remove-generic-function-method (spec)
Package

stdutils.

Source

clos.lisp.

Function: remove-nulls (list)
Package

stdutils.

Source

lists.lisp.

Function: remove-sublist (list sublist &key test split)

Finds and removes the first occurances of sublist in list

Package

stdutils.

Source

lists.lisp.

Function: repeat (e n)

repeat element e n times into a list

Package

stdutils.

Source

lists.lisp.

Function: repeat-fn (fn n)

repeat thunk fn n times, results are returned in a list, car is the result of the first call

Package

stdutils.

Source

lists.lisp.

Function: replaced-string-length (str repl-alist)
Package

stdutils.

Source

strings.lisp.

Function: reset-ticker (ticker)
Package

stdutils.

Source

prof.lisp.

Function: reset-timer (timer)
Package

stdutils.

Source

prof.lisp.

Function: rfind-if (fn tree)

Find first atom in tree on which fn returns true

Package

stdutils.

Source

lists.lisp.

Function: rfind-node-if (fn tree)

Recurse cons-based tree structure until a matching subtree is found

Package

stdutils.

Source

lists.lisp.

Function: rmapcar (fn &rest args)
Package

stdutils.

Source

map.lisp.

Function: safe-subseq (sequence start &optional end)
Package

stdutils.

Source

lists.lisp.

Function: same-length (a b)
Package

stdutils.

Source

lists.lisp.

Function: seed-random-generator ()

Evaluate a random number of items

Package

stdutils.

Source

random.lisp.

Function: select-if (ff lst &key key)

Extract only the elements from the lst that satisfy the predicate ff

Package

stdutils.

Source

lists.lisp.

Function: select-keywords (list)
Package

stdutils.

Source

system.lisp.

Function: set-differences (set &rest outs)
Package

stdutils.

Source

lists.lisp.

Function: set-equal (set1 set2)
Package

stdutils.

Source

lists.lisp.

Function: shrink-vector (str size)
Package

stdutils.

Source

strings.lisp.

Function: shuffle (x y)

Mix x and y element for element into a single list

Package

stdutils.

Source

lists.lisp.

Function: single (lst)
Package

stdutils.

Source

map.lisp.

Function: slurp-file (filename)

Read a file’s contents to a string

Package

stdutils.

Source

file.lisp.

Function: solve-matrix (matrix &optional destructive print-soln)

Solve a matrix using Gaussian elimination
Matrix must be N by N+1
Assume solution is stored as the N+1st column of the matrix

Package

stdutils.

Source

matrix.lisp.

Function: sort-b-according-to-a (alist blist predicate &optional key)

Sorts blist according to the reordering of alist and returns the newly ordered blist. Non-destructive to alist and blist

Package

stdutils.

Source

lists.lisp.

Function: sort-ordering-by (order elements key)

Simple n squared order b according to a

Package

stdutils.

Source

lists.lisp.

Function: split-alphanumeric-string (string)

Separates a string at any non-alphanumeric chararacter

Package

stdutils.

Source

strings.lisp.

Function: split-if (fn lst)
Package

stdutils.

Source

lists.lisp.

Function: split-list (item list &key key test discard)

Walks list to first match of item and returns two fresh lists; one up to the item and the remainder including the item.

Package

stdutils.

Source

lists.lisp.

Function: split-sequence (delimiter seq &key count remove-empty-subseqs from-end start end test test-not key)

Return a list of subsequences in seq delimited by delimiter.

If :remove-empty-subseqs is NIL, empty subsequences will be included in the result; otherwise they will be discarded. All other keywords work analogously to those for CL:SUBSTITUTE. In particular, the behaviour of :from-end is possibly different from other versions of this function; :from-end values of NIL and T are equivalent unless :count is supplied. The second return value is an index suitable as an argument to CL:SUBSEQ into the sequence indicating where processing stopped.

Package

split-sequence.

Source

split-sequence.lisp.

Function: split-sequence-if (predicate seq &key count remove-empty-subseqs from-end start end key)

Return a list of subsequences in seq delimited by items satisfying predicate.

If :remove-empty-subseqs is NIL, empty subsequences will be included in the result; otherwise they will be discarded. All other keywords work analogously to those for CL:SUBSTITUTE-IF. In particular, the behaviour of :from-end is possibly different from other versions of this function; :from-end values of NIL and T are equivalent unless :count is supplied. The second return value is an index suitable as an argument to CL:SUBSEQ into the sequence indicating where processing stopped.

Package

split-sequence.

Source

split-sequence.lisp.

Function: split-sequence-if-not (predicate seq &key count remove-empty-subseqs from-end start end key)

Return a list of subsequences in seq delimited by items satisfying (CL:COMPLEMENT predicate).

If :remove-empty-subseqs is NIL, empty subsequences will be included in the result; otherwise they will be discarded. All other keywords work analogously to those for CL:SUBSTITUTE-IF-NOT. In particular, the behaviour of :from-end is possibly different from other versions of this function; :from-end values of NIL and T are equivalent unless :count is supplied. The second return value is an index suitable as an argument to CL:SUBSEQ into the sequence indicating where processing stopped.

Package

split-sequence.

Source

split-sequence.lisp.

Function: square-matrix? (matrix)

Is the matrix a square matrix?

Package

stdutils.

Source

matrix.lisp.

Function: strcat (&rest strings)
Package

stdutils.

Source

strings.lisp.

Function: string->list (string)
Package

stdutils.

Source

strings.lisp.

Function: string-delimited-string-to-list (str substr)

splits a string delimited by substr into a list of strings

Package

stdutils.

Source

strings.lisp.

Function: string-elide (str maxlen position)
Package

stdutils.

Source

strings.lisp.

Function: string-hash (str &optional bitmask)
Package

stdutils.

Source

strings.lisp.

Function: string-invert (str)

Invert case of a string

Package

stdutils.

Source

strings.lisp.

Function: string-left-trim-whitespace (str)
Package

stdutils.

Source

strings.lisp.

Function: string-maybe-shorten (str maxlen)
Package

stdutils.

Source

strings.lisp.

Function: string-remove-characters (string char-list)
Package

stdutils.

Source

strings.lisp.

Function: string-right-trim-one-char (char str)
Package

stdutils.

Source

strings.lisp.

Function: string-right-trim-whitespace (str)
Package

stdutils.

Source

strings.lisp.

Function: string-starts-with (start str)
Package

stdutils.

Source

strings.lisp.

Function: string-strip-ending (str endings)
Package

stdutils.

Source

strings.lisp.

Function: string-substitute (string substring replacement-string)

String substitute by Larry Hunter. Obtained from Google

Package

stdutils.

Source

strings.lisp.

Function: string-to-list-skip-delimiter (str &optional delim)

Return a list of strings, delimited by spaces, skipping spaces.

Package

stdutils.

Source

strings.lisp.

Function: string-to-usb8-array (str)
Package

stdutils.

Source

strings.lisp.

Function: string-trim-last-character (s)

Return the string less the last character

Package

stdutils.

Source

strings.lisp.

Function: string-trim-whitespace (str)
Package

stdutils.

Source

strings.lisp.

Function: strlist->quoted-substrings (list)
Package

stdutils.

Source

strings.lisp.

Function: strncmp (string1 string2 count start)
Package

stdutils.

Source

strings.lisp.

Function: strncmp-end2 (string1 string2 count start)
Package

stdutils.

Source

strings.lisp.

Function: substitute-chars-strings (str repl-alist)

Replace all instances of a chars with a string. repl-alist is an assoc list of characters and replacement strings.

Package

stdutils.

Source

strings.lisp.

Function: substitute-matrix (matrix rows cols)
Package

stdutils.

Source

matrix.lisp.

Function: substitute-string-for-char (procstr match-char subst-str)

Substitutes a string for a single matching character of a string

Package

stdutils.

Source

strings.lisp.

Function: subtract-matrix (&rest matrices)

Subtract matrices

Package

stdutils.

Source

matrix.lisp.

Function: sum-array (array &optional start)
Package

stdutils.

Source

lists.lisp.

Function: symb (&rest args)
Package

stdutils.

Source

strings.lisp.

Function: symbol-name-equal (src target &key key test)

Compare two symbols independant of package, can treat target as a complex structure using key

Package

stdutils.

Source

system.lisp.

Function: taglist-object (tag taglist)

Given a tag and a taglist return the object designated by the tag

Package

stdutils.

Source

collections.lisp.

Function: taglist-tag (object taglist)

Take an arbitrary object and a ’taglist’ data structure and return a unique integer id that can be used to retrieve that object.

Package

stdutils.

Source

collections.lisp.

Function: tags-from-words (words taglist &key tagf)
Package

stdutils.

Source

collections.lisp.

Function: ticker-elapsed (ticker)
Package

stdutils.

Source

prof.lisp.

Function: ticker-print-elapsed (ticker &key stream)

Print time elapsed, in microseconds or another n parts per second time base

Package

stdutils.

Source

prof.lisp.

Function: ticker-ticks-per-second ()
Package

stdutils.

Source

prof.lisp.

Function: timer-elapsed (timer)
Package

stdutils.

Source

prof.lisp.

Function: timer-print-elapsed (timer &optional stream)
Package

stdutils.

Source

prof.lisp.

Function: timer-rbc-items-remaining (timer)
Package

stdutils.

Source

prof.lisp.

Function: timer-rbc-print-time-remaining (timer)
Package

stdutils.

Source

prof.lisp.

Function: timer-rbc-time-remaining (timer)
Package

stdutils.

Source

prof.lisp.

Function: timer-rbc-update (timer remaining)
Package

stdutils.

Source

prof.lisp.

Function: transpose-matrix (matrix)

Transpose a matrix

Package

stdutils.

Source

matrix.lisp.

Function: trec (rec &optional base)
Package

stdutils.

Source

lists.lisp.

Function: trim-non-alphanumeric (word)

Strip non-alphanumeric characters from beginning and end of a word.

Package

stdutils.

Source

strings.lisp.

Function: unions (&rest sets)
Package

stdutils.

Source

lists.lisp.

Function: unique-pairs (list)

Produce all unique pairings of the provided list

Package

stdutils.

Source

lists.lisp.

Function: unshuffle (n x)

Create n lists, each getting the successive element of x. Returns a list of lists. Retains order.

Package

stdutils.

Source

lists.lisp.

Function: unsplit-words (list)
Package

stdutils.

Source

strings.lisp.

Function: update-hash (hash key value &optional fn)
Package

stdutils.

Source

hashutil.lisp.

Function: update-hash-hash (hash hash2 &optional fn)
Package

stdutils.

Source

hashutil.lisp.

Function: update-hash-list (hash alist &optional fn)
Package

stdutils.

Source

hashutil.lisp.

Function: usb8-array-to-string (vec)
Package

stdutils.

Source

strings.lisp.

Function: use-package-noshadow-exported (src-package &optional target-package)
Package

stdutils.

Source

system.lisp.

Function: vars-in-pat (expr &optional atom?)
Package

stdutils.

Source

match.lisp.

Function: vector-1d-lshift (array index amount &key adjust)
Package

stdutils.

Source

arrays.lisp.

Function: vector-1d-rshift (array index amount &key filler adjust)
Package

stdutils.

Source

arrays.lisp.

Function: walk-directories (rootdir &rest args &key filef dirf hidden on-entry ignore-dotfiles ignore-dirs)
Package

stdutils.

Source

file.lisp.

Function: walk-heirarchy (root &key next-level order node-action leaf-action key)
Package

stdutils.

Source

clos.lisp.

Function: words-from-tags (tags taglist &key tagf)
Package

stdutils.

Source

collections.lisp.

Function: wplac-ex (binds body)
Package

stdutils.

Source

macros.lisp.

Function: wseq-name (wseq)

Return the concatenated string this wseq represents. Duplicates words in memory

Package

stdutils.

Source

wordseq.lisp.

Function: wseq-subseq (subseq target)
Package

stdutils.

Source

wordseq.lisp.

Function: wseq-word (int)
Package

stdutils.

Source

wordseq.lisp.

Function: wseq-wordlist (wseq)

Return the ordered list of words represented by this string. Do not side effect these strings.

Package

stdutils.

Source

wordseq.lisp.


6.1.6 Generic functions

Generic Function: add (struct key value)

This function adds a keyed value to a collection

Package

stdutils.gds.

Source

gds.lisp.

Methods
Method: add ((table table) key value)
Source

table.lisp.

Generic Function: cache-max-objects (c)
Package

stdutils.

Methods
Method: cache-max-objects ((c object-cache-h-q))
Source

cache.lisp.

Generic Function: cache-objects (c)
Package

stdutils.

Methods
Method: cache-objects ((c object-cache-h-q))
Source

cache.lisp.

Generic Function: clear (struct)

Reset the structure to its original state

Package

stdutils.gds.

Source

gds.lisp.

Methods
Method: clear ((iter vector-keyed-table-iterator))
Source

vector-keyed-table.lisp.

Method: clear ((table vector-keyed-table))
Source

vector-keyed-table.lisp.

Method: clear ((iter hashed-table-iterator))
Source

hashed-table.lisp.

Method: clear ((table hashed-table))
Source

hashed-table.lisp.

Method: clear ((iter assoc-table-iterator))

To ensure that things are released for GC

Source

assoc-table.lisp.

Method: clear ((table assoc-table))
Source

assoc-table.lisp.

Generic Function: contains (struct key)

A predicate determining if a collection contains a keyed value

Package

stdutils.gds.

Source

gds.lisp.

Methods
Method: contains ((table table) key)
Source

table.lisp.

Generic Function: convert (type struct)

Converts one structure to another if a conversion routine exists

Package

stdutils.gds.

Source

gds.lisp.

Methods
Method: convert ((source table) type)

Default implementation of convert for tables

Source

table.lisp.

Generic Function: copy (struct)

Returns a copy in new storage of the provided structure

Package

stdutils.gds.

Source

gds.lisp.

Methods
Method: copy ((table table))

Default table copy. Can override with something more efficient for implementations that are amenable to such optimization

Source

table.lisp.

Generic Function: dequeue (q)
Package

stdutils.

Methods
Method: dequeue ((q list-queue))
Source

queue.lisp.

Generic Function: drop (struct key)

This function drops a keyed value from a collection

Package

stdutils.

Source

gds.lisp.

Methods
Method: drop ((table vector-keyed-table) key)
Source

vector-keyed-table.lisp.

Method: drop ((table hashed-table) key)
Source

hashed-table.lisp.

Method: drop ((table assoc-table) key)
Source

assoc-table.lisp.

Method: drop ((registry object-registry) id)
Source

collections.lisp.

Generic Function: drop-entry (c key)
Package

stdutils.

Methods
Method: drop-entry ((c object-cache-h-q) key)

Drops the oldest entry if nil. If key is valid but not present than no side effects occur

Source

cache.lisp.

Generic Function: drop-last (iterator)

This drops the last visited element in a walk over a collection

Package

stdutils.gds.

Source

gds.lisp.

Methods
Method: drop-last ((iter vector-keyed-table-iterator))
Source

vector-keyed-table.lisp.

Method: drop-last ((iter hashed-table-iterator))
Source

hashed-table.lisp.

Method: drop-last ((iter assoc-table-iterator))
Source

assoc-table.lisp.

Generic Function: empty (table)
Package

stdutils.gds.

Methods
Method: empty ((table table))
Source

table.lisp.

Generic Function: enqueue (q datum)
Package

stdutils.

Methods
Method: enqueue ((q list-queue) datum)
Source

queue.lisp.

Generic Function: find-elt (struct value &key all key test)

Finds one or more values matching value using key as an accessor and test as the comparison function between value

Package

stdutils.gds.

Source

gds.lisp.

Methods
Method: find-elt ((table table) value &key all key test)
Source

table.lisp.

Generic Function: find-value (table value &key all key test)
Package

stdutils.gds.

Methods
Method: find-value ((table assoc-table) value &key all key test)
Source

assoc-table.lisp.

Generic Function: flush-cache (c)
Package

stdutils.

Methods
Method: flush-cache ((c object-cache-h-q))
Source

cache.lisp.

Generic Function: get-iterator (struct &key type)

Return a function which when called returns two values; the next element
in the collection and whether the iterator is completed (t on completion). The value is nil when termination is reached. The type argument is gds specific and indicates what aspects of the main ds should be returned during iteration

Package

stdutils.gds.

Source

gds.lisp.

Methods
Method: get-iterator ((vktable vector-keyed-table) &key type)
Source

vector-keyed-table.lisp.

Method: get-iterator ((table hashed-table) &key type)
Source

hashed-table.lisp.

Method: get-iterator ((table assoc-table) &key type)
Source

assoc-table.lisp.

Generic Function: get-value (struct key)

The standard access for a datastructure. Two valued return;
first is actual associated value, second is whether it existed

Package

stdutils.gds.

Source

gds.lisp.

Methods
Method: get-value ((table vector-keyed-table) key)
Source

vector-keyed-table.lisp.

Method: get-value ((table hashed-table) key)
Source

hashed-table.lisp.

Method: get-value ((table assoc-table) key)
Source

assoc-table.lisp.

Generic Function: (setf get-value) (struct key)

Updating or adding a keyed value to a collection

Package

stdutils.gds.

Source

gds.lisp.

Methods
Method: (setf get-value) ((table vector-keyed-table) key)
Source

vector-keyed-table.lisp.

Method: (setf get-value) ((table hashed-table) key)
Source

hashed-table.lisp.

Method: (setf get-value) ((table assoc-table) key)
Source

assoc-table.lisp.

Generic Function: index-drop (bidx id)
Package

stdutils.

Methods
Method: index-drop ((bidx bidir-index) id)
Source

collections.lisp.

Generic Function: index-get-by-id (bidx id)
Package

stdutils.

Methods
Method: index-get-by-id ((bidx bidir-index) id)
Source

collections.lisp.

Generic Function: index-get-by-obj (bidx obj)
Package

stdutils.

Methods
Method: index-get-by-obj ((bidx bidir-index) obj)
Source

collections.lisp.

Generic Function: index-get-id-obj-map (bidx)
Package

stdutils.

Methods
Method: index-get-id-obj-map ((bidx bidir-index))
Source

collections.lisp.

Generic Function: index-put (bidx id obj)
Package

stdutils.

Methods
Method: index-put ((bidx bidir-index) id obj)
Source

collections.lisp.

Generic Function: initialize (c &rest rest)
Package

stdutils.

Methods
Method: initialize ((c object-cache-h-q) &rest rest)
Source

cache.lisp.

Generic Function: insert (struct element location)
Package

stdutils.gds.

Source

gds.lisp.

Generic Function: list-insert (q qe new)
Package

stdutils.

Methods
Method: list-insert ((q list-queue) (qe list-queue-elt) (new list-queue-elt))

Insert new in front of qe in the list

Source

queue.lisp.

Method: list-insert ((q list-queue) (qe (eql nil)) (new list-queue-elt))
Source

queue.lisp.

Generic Function: list-queue-list (queue)
Package

stdutils.

Methods
Method: list-queue-list ((queue list-queue))
Source

queue.lisp.

Generic Function: list-remove (q qe)
Package

stdutils.

Methods
Method: list-remove ((q list-queue) (qe list-queue-elt))

Remove qe from its list

Source

queue.lisp.

Generic Function: map-cache (c fn &key oldest-first)
Package

stdutils.

Methods
Method: map-cache ((c object-cache-h-q) fn &key oldest-first)
Source

cache.lisp.

Generic Function: map-elements (function struct)

Map all the elments of the provided structure and apply function to them. For tables this means all the key-value pairs as a cons pair.

Package

stdutils.gds.

Source

gds.lisp.

Methods
Method: map-elements (function (table table))
Source

table.lisp.

Generic Function: map-keys (function struct)

Maps over just the keys for keyed structures

Package

stdutils.gds.

Source

gds.lisp.

Methods
Method: map-keys (function (table table))
Source

table.lisp.

Generic Function: map-queue (q fn &key reverse)
Package

stdutils.

Methods
Method: map-queue ((q list-queue) fn &key reverse)

Traverse the queue from most to least recent push collecting the results of applying fn to the data in each queue position

Source

queue.lisp.

Generic Function: map-values (function struct)

Maps over just the values for keyed structures

Package

stdutils.gds.

Source

gds.lisp.

Methods
Method: map-values (function (table table))
Source

table.lisp.

Generic Function: new-id (idgen)
Package

stdutils.

Methods
Method: new-id ((idgen id-generator))
Source

collections.lisp.

Generic Function: next (iter)

An function for getting the next element from a structure or iterator.
It takes an optional reference to an element (ie next/prev)

Package

stdutils.gds.

Source

gds.lisp.

Methods
Method: next ((iter vector-keyed-table-iterator))

Invariant: stack always contains a null, exhausted or intermediate table iterator

Source

vector-keyed-table.lisp.

Method: next ((iter hashed-table-iterator))
Source

hashed-table.lisp.

Method: next ((iter assoc-table-iterator))
Source

assoc-table.lisp.

Generic Function: next-p (iter)

Predicate form of next

Package

stdutils.gds.

Source

gds.lisp.

Methods
Method: next-p ((iter vector-keyed-table-iterator))
Source

vector-keyed-table.lisp.

Method: next-p ((iter hashed-table-iterator))
Source

hashed-table.lisp.

Method: next-p ((iter assoc-table-iterator))
Source

assoc-table.lisp.

Generic Function: peek (q &key location)
Package

stdutils.

Methods
Method: peek ((q list-queue) &key location)
Source

queue.lisp.

Generic Function: predecessor (q &optional item)
Package

stdutils.

Methods
Method: predecessor ((q list-queue) &optional item)
Source

queue.lisp.

Generic Function: push-front (q datum)
Package

stdutils.

Methods
Method: push-front ((q list-queue) datum)
Source

queue.lisp.

Generic Function: queue-clear (queue)
Package

stdutils.

Methods
Method: queue-clear ((queue list-queue))
Source

queue.lisp.

Generic Function: queue-element-to-front (queue element)
Package

stdutils.

Methods
Method: queue-element-to-front ((queue list-queue) element)
Source

queue.lisp.

Generic Function: queue-empty-p (queue)
Package

stdutils.

Methods
Method: queue-empty-p ((queue list-queue))
Source

queue.lisp.

Generic Reader: queue-head (object)
Package

stdutils.

Methods
Reader Method: queue-head ((list-queue list-queue))

automatically generated reader method

Source

queue.lisp.

Target Slot

head.

Generic Writer: (setf queue-head) (object)
Package

stdutils.

Methods
Writer Method: (setf queue-head) ((list-queue list-queue))

automatically generated writer method

Source

queue.lisp.

Target Slot

head.

Generic Reader: queue-size (object)
Package

stdutils.

Methods
Reader Method: queue-size ((list-queue list-queue))

automatically generated reader method

Source

queue.lisp.

Target Slot

size.

Generic Writer: (setf queue-size) (object)
Package

stdutils.

Methods
Writer Method: (setf queue-size) ((list-queue list-queue))

automatically generated writer method

Source

queue.lisp.

Target Slot

size.

Generic Function: read-cache (c key)
Package

stdutils.

Methods
Method: read-cache ((c object-cache-h-q) key)
Source

cache.lisp.

Generic Function: register (registry object)
Package

stdutils.

Methods
Method: register ((registry object-registry) object)
Source

collections.lisp.

Generic Function: reset (iter)
Package

stdutils.gds.

Methods
Method: reset ((iter vector-keyed-table-iterator))
Source

vector-keyed-table.lisp.

Method: reset ((iter hashed-table-iterator))
Source

hashed-table.lisp.

Method: reset ((iter assoc-table-iterator))
Source

assoc-table.lisp.

Generic Function: resize (c new-size)
Package

stdutils.

Methods
Method: resize ((c object-cache-h-q) new-size)
Source

cache.lisp.

Generic Function: search-for-entry (q item &key key test head &allow-other-keys)
Package

stdutils.

Methods
Method: search-for-entry ((q list-queue-elt) item &key key test head)
Source

queue.lisp.

Method: search-for-entry ((q list-queue) item &key key test &allow-other-keys)
Source

queue.lisp.

Generic Function: show-cache (c &key oldest-first)
Package

stdutils.

Methods
Method: show-cache ((c object-cache-h-q) &key oldest-first)
Source

cache.lisp.

Generic Function: size-of (struct)

The number of times you’d have to call add to reproduce this structure

Package

stdutils.gds.

Source

gds.lisp.

Methods
Method: size-of ((table vector-keyed-table))
Source

vector-keyed-table.lisp.

Method: size-of ((table hashed-table))
Source

hashed-table.lisp.

Method: size-of ((table assoc-table))
Source

assoc-table.lisp.

Generic Function: storage-allocated (struct)

The number of add operations reserved in memory for this ds

Package

stdutils.gds.

Source

gds.lisp.

Methods
Method: storage-allocated ((table vector-keyed-table))
Source

vector-keyed-table.lisp.

Method: storage-allocated ((table hashed-table))
Source

hashed-table.lisp.

Method: storage-allocated ((table table))
Source

table.lisp.

Generic Function: successor (q &optional item)
Package

stdutils.

Methods
Method: successor ((q list-queue) &optional item)
Source

queue.lisp.

Generic Function: table-elements (table)
Package

stdutils.gds.

Methods
Method: table-elements ((table table))
Source

table.lisp.

Generic Function: table-keys (table)
Package

stdutils.gds.

Methods
Method: table-keys ((table table))
Source

table.lisp.

Generic Function: table-values (table)
Package

stdutils.gds.

Methods
Method: table-values ((table table))
Source

table.lisp.

Generic Function: valid-id-p (idgen id)
Package

stdutils.

Methods
Method: valid-id-p ((idgen id-generator) id)
Source

collections.lisp.

Generic Function: write-cache (c key object &key force)
Package

stdutils.

Methods
Method: write-cache ((c object-cache-h-q) key object &key force)

Ensure the object is in the cache; return the object

Source

cache.lisp.


6.1.7 Standalone methods

Method: initialize-instance :after ((table vector-keyed-table) &rest initargs)
Source

vector-keyed-table.lisp.

Method: initialize-instance :after ((table hashed-table-iterator) &rest initargs &key &allow-other-keys)
Source

hashed-table.lisp.

Method: initialize-instance :after ((iter vector-keyed-table-iterator) &rest initargs &key &allow-other-keys)
Source

vector-keyed-table.lisp.


6.1.8 Classes

Class: assoc-table
Package

stdutils.gds.

Source

assoc-table.lisp.

Direct superclasses

table.

Direct methods
Direct slots
Slot: alist
Initargs

:alist

Readers

alist.

Writers

(setf alist).

Slot: key-test
Initform

(function eq)

Initargs

:key-test

Readers

key-test.

Writers

(setf key-test).

Class: assoc-table-iterator
Package

stdutils.gds.

Source

assoc-table.lisp.

Direct superclasses

iterator.

Direct methods
Direct slots
Slot: current
Initargs

:current

Readers

current-ptr.

Writers

(setf current-ptr).

Slot: reference
Initargs

:reference

Readers

reference.

Writers

(setf reference).

Slot: last
Package

common-lisp.

Readers

last-ptr.

Writers

(setf last-ptr).

Slot: type

Type can be :key, :value or :pair

Package

common-lisp.

Initargs

:type

Readers

iter-type.

Writers

(setf iter-type).

Class: bidir-index
Package

stdutils.

Source

collections.lisp.

Direct subclasses

object-registry.

Direct methods
Direct slots
Slot: by-id
Initform

(stdutils:hash)

Initargs

:by-id

Readers

bidir-index-by-id.

Writers

(setf bidir-index-by-id).

Slot: by-obj
Initform

(stdutils:hash)

Initargs

:by-obj

Readers

bidir-index-by-obj.

Writers

(setf bidir-index-by-obj).

Class: hashed-table
Package

stdutils.gds.

Source

hashed-table.lisp.

Direct superclasses

table.

Direct methods
Direct slots
Slot: table
Initform

(stdutils:hash)

Initargs

:hash

Readers

hashed-table-ref.

Writers

(setf hashed-table-ref).

Class: hashed-table-iterator
Package

stdutils.gds.

Source

hashed-table.lisp.

Direct superclasses

iterator.

Direct methods
Direct slots
Slot: reference
Initargs

:reference

Readers

reference.

Writers

(setf reference).

Slot: list
Package

common-lisp.

Readers

list-ptr.

Writers

(setf list-ptr).

Slot: last
Package

common-lisp.

Readers

last-ptr.

Writers

(setf last-ptr).

Slot: type

Type can be :key, :value or :pair

Package

common-lisp.

Initargs

:type

Readers

iter-type.

Writers

(setf iter-type).

Class: id-generator
Package

stdutils.

Source

collections.lisp.

Direct subclasses

object-registry.

Direct methods
Direct slots
Slot: id
Initargs

:id

Readers

id-generator-id.

Writers

(setf id-generator-id).

Class: iterator
Package

stdutils.gds.

Source

iterator.lisp.

Direct superclasses

standard-protocol.

Direct subclasses
Direct methods
Direct slots
Slot: operations
Initform

(quote (stdutils.gds:next stdutils.gds:next-p stdutils.gds:drop-last stdutils.gds:reset stdutils.gds:clear))

Readers

protocol-operations.

Writers

(setf protocol-operations).

Class: list-queue

Queue object, contains the head element and some stats

Package

stdutils.

Source

queue.lisp.

Direct subclasses

safe-list-queue.

Direct methods
Direct slots
Slot: size
Initform

0

Readers

queue-size.

Writers

(setf queue-size).

Slot: head
Readers

queue-head.

Writers

(setf queue-head).

Class: list-queue-elt

An element forming a queue, the provided element is treated as a head for push/pop operations

Package

stdutils.

Source

queue.lisp.

Direct methods
Direct slots
Slot: pred
Initargs

:pred

Readers

pred.

Writers

(setf pred).

Slot: succ
Initargs

:succ

Readers

succ.

Writers

(setf succ).

Slot: data
Initargs

:data

Readers

get-data.

Writers

(setf get-data).

Class: object-cache-h-q

A cache of objects using arbitrary keys

Package

stdutils.

Source

cache.lisp.

Direct methods
Direct slots
Slot: index
Type

hash-table

Readers

object-cache-h-q-index.

Writers

(setf object-cache-h-q-index).

Slot: queue
Type

stdutils:list-queue

Readers

object-cache-h-q-queue.

Writers

(setf object-cache-h-q-queue).

Slot: max-size
Type

fixnum

Readers

object-cache-h-q-max-size.

Writers

(setf object-cache-h-q-max-size).

Slot: size
Type

fixnum

Initform

0

Readers

object-cache-h-q-size.

Writers

(setf object-cache-h-q-size).

Class: object-registry
Package

stdutils.

Source

collections.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

object-registry-name.

Writers

(setf object-registry-name).

Slot: id
Initform

0

Initargs

:id

Readers

object-registry-id.

Writers

(setf object-registry-id).

Class: safe-list-queue
Package

stdutils.

Source

queue.lisp.

Direct superclasses
Class: scalable-set
Package

stdutils.

Source

collections.lisp.

Direct methods
Direct slots
Slot: type
Package

common-lisp.

Initform

:list

Initargs

:type

Readers

set-type.

Writers

(setf set-type).

Slot: rep
Initargs

:rep

Readers

set-rep.

Writers

(setf set-rep).

Slot: membership
Initform

(function eq)

Initargs

:membership

Readers

set-membership.

Writers

(setf set-membership).

Class: standard-protocol
Package

stdutils.gds.

Source

gds.lisp.

Direct subclasses
Class: table
Package

stdutils.gds.

Source

table.lisp.

Direct superclasses

standard-protocol.

Direct subclasses
Direct methods
Direct slots
Slot: operations
Initform

(quote (stdutils.gds:add stdutils:drop stdutils.gds:get-value (setf stdutils.gds:get-value) stdutils.gds:find-value stdutils.gds:contains stdutils.gds:clear stdutils.gds:empty stdutils.gds:copy stdutils.gds:convert stdutils.gds:size-of stdutils.gds:storage-allocated stdutils.gds:copy stdutils.gds:convert stdutils.gds:table-elements stdutils.gds:table-keys stdutils.gds:table-values stdutils.gds:map-elements stdutils.gds:map-keys stdutils.gds:map-values stdutils.gds:get-iterator))

Readers

protocol-operations.

Writers

(setf protocol-operations).

Class: vector-keyed-table
Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Direct superclasses

table.

Direct methods
Direct slots
Slot: root
Initargs

:root

Readers

table-root.

Writers

(setf table-root).

Slot: threshold
Initform

stdutils.gds::*vechash-threshold*

Initargs

:threshold

Readers

vhash-threshold.

Writers

This slot is read-only.

Slot: count
Package

common-lisp.

Initform

0

Readers

table-count.

Writers

(setf table-count).


6.2 Internals


6.2.1 Constants

Constant: +char-code-0+
Package

stdutils.

Source

strings.lisp.

Constant: +char-code-lower-a+
Package

stdutils.

Source

strings.lisp.

Constant: +char-code-upper-a+
Package

stdutils.

Source

strings.lisp.

Constant: +unambiguous-length+
Package

stdutils.

Source

strings.lisp.


6.2.2 Special variables

Special Variable: *ampm*

Map AM, PM, & O’CLOCK strings to symbols for use when figuring the universal time from a broken time.

Package

stdutils.

Source

time.lisp.

Special Variable: *count-updated*
Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Special Variable: *debug*
Package

stdutils.

Source

time.lisp.

Special Variable: *format-time-fns*
Package

stdutils.

Source

time.lisp.

Special Variable: *format-time-months*
Package

stdutils.

Source

time.lisp.

Special Variable: *format-time-weekdays*
Package

stdutils.

Source

time.lisp.

Special Variable: *ids-word*
Package

stdutils.

Source

wordseq.lisp.

Special Variable: *months*

Map month names & abbreviations to their numbers.

Package

stdutils.

Source

time.lisp.

Special Variable: *scalable-set-threshold*
Package

stdutils.

Source

collections.lisp.

Special Variable: *set-interface-definition*
Package

stdutils.

Source

collections.lisp.

Special Variable: *string-ops*
Package

stdutils.

Source

lists.lisp.

Special Variable: *term-parsers*

Maps format descriptors to the functions that parse them. Keys are format descriptors, which are strings such as ’%Y’. Values are functions which extract & return a CONS for an assoc-list or NIL.

Package

stdutils.

Source

time.lisp.

Special Variable: *vechash-threshold*
Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Special Variable: *vector-keyed-threshold*

When to switch internally from assoc list to hash table

Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Special Variable: *weekdays*

Map weekday names & abbreviations to truth. We don’t use the weekday when figuring the universal time, so we don’t map to anything other than true. The true simply indicates that we recognize the term as a weekday name.

Package

stdutils.

Source

time.lisp.

Special Variable: *whitespace-chars*
Package

stdutils.

Source

strings.lisp.

Special Variable: *word-count*
Package

stdutils.

Source

wordseq.lisp.

Special Variable: *word-ids*
Package

stdutils.

Source

wordseq.lisp.

Special Variable: *zones*
Package

stdutils.

Source

time.lisp.

Special Variable: +hex-chars+
Package

stdutils.

Source

strings.lisp.

Special Variable: +unambiguous-charset+
Package

stdutils.

Source

strings.lisp.

Special Variable: if*-keyword-list
Package

stdutils.

Source

ifstar.lisp.


6.2.3 Macros

Macro: >case (expr &rest clauses)
Package

stdutils.

Source

conditionals.lisp.

Macro: _f (op place &rest args)
Package

stdutils.

Source

setf.lisp.

Macro: allf (val &rest args)
Package

stdutils.

Source

setf.lisp.

Macro: conc1f (place obj)
Package

stdutils.

Source

setf.lisp.

Macro: concf (place obj)
Package

stdutils.

Source

setf.lisp.

Macro: concnew (place obj &rest args)
Package

stdutils.

Source

setf.lisp.

Macro: condlet (clauses &body body)
Package

stdutils.

Source

conditionals.lisp.

Macro: fn (expr)
Package

stdutils.

Source

functions.lisp.

Macro: if3 (test t-case nil-case ?-case)
Package

stdutils.

Source

conditionals.lisp.

Macro: in (obj &rest choices)

Test whether object is a eql to any of the remaining arguments, faster form of (member obj choices :test #’eql)

Package

stdutils.

Source

conditionals.lisp.

Macro: in-if (fn &rest choices)
Package

stdutils.

Source

conditionals.lisp.

Macro: inq (obj &rest args)

Same as in but quote the arguments during macroexpansion

Package

stdutils.

Source

conditionals.lisp.

Macro: mvpass2 (form)
Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Macro: nilf (&rest args)
Package

stdutils.

Source

setf.lisp.

Macro: pat-match (pat seq then else)
Package

stdutils.

Source

match.lisp.

Macro: popn (n place)
Package

stdutils.

Source

setf.lisp.

Macro: pull (obj place &rest args)
Package

stdutils.

Source

setf.lisp.

Macro: pull-if (test place &rest args)
Package

stdutils.

Source

setf.lisp.

Macro: sop (string &rest args)
Package

stdutils.

Source

lists.lisp.

Macro: sortf (op &rest places)
Package

stdutils.

Source

setf.lisp.

Macro: tf (&rest args)
Package

stdutils.

Source

setf.lisp.

Macro: toggle (&rest args)
Package

stdutils.

Source

setf.lisp.

Macro: toggle2 (place)
Package

stdutils.

Source

setf.lisp.


6.2.4 Setf expanders

Setf Expander: (setf vknode-table) (cons)
Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Reader

vknode-table (function).

Writer

rplacd (function).

Setf Expander: (setf vknode-value) (cons)
Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Reader

vknode-value (function).

Writer

rplaca (function).


6.2.5 Ordinary functions

Function: >casex (g cl)
Package

stdutils.

Source

conditionals.lisp.

Function: binding (x binds)
Package

stdutils.

Source

match.lisp.

Reader: broken-time-ampm (instance)
Writer: (setf broken-time-ampm) (instance)
Package

stdutils.

Source

time.lisp.

Target Slot

ampm.

Reader: broken-time-dd (instance)
Writer: (setf broken-time-dd) (instance)
Package

stdutils.

Source

time.lisp.

Target Slot

dd.

Reader: broken-time-dow (instance)
Writer: (setf broken-time-dow) (instance)
Package

stdutils.

Source

time.lisp.

Target Slot

dow.

Reader: broken-time-dst? (instance)
Writer: (setf broken-time-dst?) (instance)
Package

stdutils.

Source

time.lisp.

Target Slot

dst?.

Reader: broken-time-hh (instance)
Writer: (setf broken-time-hh) (instance)
Package

stdutils.

Source

time.lisp.

Target Slot

hh.

Reader: broken-time-mm (instance)
Writer: (setf broken-time-mm) (instance)
Package

stdutils.

Source

time.lisp.

Target Slot

mm.

Reader: broken-time-mo (instance)
Writer: (setf broken-time-mo) (instance)
Package

stdutils.

Source

time.lisp.

Target Slot

mo.

Function: broken-time-p (object)
Package

stdutils.

Source

time.lisp.

Reader: broken-time-ss (instance)
Writer: (setf broken-time-ss) (instance)
Package

stdutils.

Source

time.lisp.

Target Slot

ss.

Reader: broken-time-yr (instance)
Writer: (setf broken-time-yr) (instance)
Package

stdutils.

Source

time.lisp.

Target Slot

yr.

Reader: broken-time-zone (instance)
Writer: (setf broken-time-zone) (instance)
Package

stdutils.

Source

time.lisp.

Target Slot

zone.

Function: broken-to-ut (x)

Given a BROKEN time structure, conver them
to a universal time & return the universal time. All of the date-&-time components must be present in the BROKEN time.

Package

stdutils.

Source

time.lisp.

Function: build-call (op fns)
Package

stdutils.

Source

functions.lisp.

Function: build-compose (fns)
Package

stdutils.

Source

functions.lisp.

Function: build-sop (input-expr args)
Package

stdutils.

Source

lists.lisp.

Function: collect-token (width good-char? strm)

Collect characters from character input stream STRM until we have WIDTH characters or the next character is not acceptable according to GOOD-CHAR?, which is a function. Return the characters we collected, as a string.

Package

stdutils.

Source

time.lisp.

Function: condlet-binds (vars cl)
Package

stdutils.

Source

conditionals.lisp.

Function: condlet-clause (vars cl bodfn)
Package

stdutils.

Source

conditionals.lisp.

Function: convert-fmt-string-to-list (fmt)

Given a FMT string for FORMAT-TIME, return a list of substrings parsed from the FMT string.

Package

stdutils.

Source

time.lisp.

Function: copy-broken-time (instance)
Package

stdutils.

Source

time.lisp.

Function: create-broken (x)

Return a new BROKEN with members initialized from X. X may be a universal time or an association list.

Package

stdutils.

Source

time.lisp.

Function: create-range (dist &optional prior-sum)
Package

stdutils.

Source

random.lisp.

Function: destruc (pat seq &optional atom? n)
Package

stdutils.

Source

functions.lisp.

Function: drop-vknode-value (tnode stack)

Clear value in target node (tnode) and if alist is size zero or nil, delete entry in parent table (snode) and, if zero, also delete

Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Function: drop-vktable-entry (key node stack)
Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Function: end-of-stream? (strm)

Return true if STRM is at its end. Does not consume characters. STRM is a character input stream.

Package

stdutils.

Source

time.lisp.

Function: end-of-vkey (vkey index)
Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Function: ensure-vktable (node)

Ensure that the provided node has a proper table for the next recusion of vector-keyed-put

Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Function: expand-expr (template argument)
Package

stdutils.

Source

lists.lisp.

Function: extend-vktable (table key)

Add a vk node to the table for key

Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Function: extract-assoc-type (acell type)
Package

stdutils.gds.

Source

assoc-table.lisp.

Function: fif (if then &optional else)
Package

stdutils.

Source

functions.lisp.

Function: fint (fn &rest fns)
Package

stdutils.

Source

functions.lisp.

Function: format-time (strm fmt &optional ut zone language)
Package

stdutils.

Source

time.lisp.

Function: fun (fn &rest fns)
Package

stdutils.

Source

functions.lisp.

Function: gen-match (refs then else)
Package

stdutils.

Source

match.lisp.

Function: gensym? (s)
Package

stdutils.

Source

match.lisp.

Function: hash-table->alist (hash)
Package

stdutils.gds.

Source

hashed-table.lisp.

Function: is-day? (x)
Package

stdutils.

Source

time.lisp.

Function: is-hour? (x)
Package

stdutils.

Source

time.lisp.

Function: is-minute? (x)
Package

stdutils.

Source

time.lisp.

Function: is-second? (x)
Package

stdutils.

Source

time.lisp.

Function: is-year? (x)
Package

stdutils.

Source

time.lisp.

Function: join-op (interp list)
Package

stdutils.

Source

lists.lisp.

Function: length-test (pat rest)
Package

stdutils.

Source

match.lisp.

Function: list-or-struct (list count)
Package

stdutils.

Source

lists.lisp.

Function: lookup-op (name)
Package

stdutils.

Source

lists.lisp.

Function: lookup-oprec (name)
Package

stdutils.

Source

lists.lisp.

Function: make-broken-time (&key ss mm hh dd mo yr dow dst? zone ampm)
Package

stdutils.

Source

time.lisp.

Function: make-fmt-recognizer (fmt)
Package

stdutils.

Source

time.lisp.

Function: make-month (x)
Package

stdutils.

Source

time.lisp.

Function: make-numeric-parser (width min max field)

Return a function which parses a numeric token of at most WIDTH digits, translating to a number not less than MIN & not more than MAX. For example, if WIDTH, MIN, & MAX are 4, 100, & 9000, you get a function which parses at most 4 digits that form a number N in the range 100 <= N <= 9000.

Package

stdutils.

Source

time.lisp.

Function: make-vknode (&optional value table)
Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Function: make-word-parser (width ht field)

Return a function which parses consecutive alpha- & numeric characters, up to WIDTH of them, & then converts them to a Lisp object via the HT hash table.

Package

stdutils.

Source

time.lisp.

Function: make-wseq-old (str)
Package

stdutils.

Source

wordseq.lisp.

Function: make-zone (x)
Package

stdutils.

Source

time.lisp.

Function: match-arrays (offset pattern &key elt cmp atom-type)
Package

stdutils.

Source

match.lisp.

Function: match1 (refs then else)
Package

stdutils.

Source

match.lisp.

Function: max-array-tr (array start)
Package

stdutils.

Source

lists.lisp.

Function: next-fn (strm fn)

Consume & collect characters from STRM as long as they satisfy FN. FN is a function of one argument which should be a character.

Package

stdutils.

Source

time.lisp.

Function: next-number (strm)

Consume characters from STRM as long as they are digits. Then convert to a number & return the number.

Package

stdutils.

Source

time.lisp.

Function: next-token (strm)
Package

stdutils.

Source

time.lisp.

Function: next-word (strm)

Consume & collect characters from STRM as long as they are alphanumeric. Converts all characters to upper case. Returns the token as a string. Return NIL if the stream is already at the end when you call this function.

Package

stdutils.

Source

time.lisp.

Function: normalize-broken (x)

Given a BROKEN-TIME, some components of
which may be missing, some of which may be screwy – like a 2-digit year, this function inserts all missing components, possibly performs some other adjustments, & returns a new BROKEN-TIME. An exception is time-zone; if it’s missing, it won’t be inserted.

Package

stdutils.

Source

time.lisp.

Function: normalize-hour (broken)
Package

stdutils.

Source

time.lisp.

Function: parse-literal (literal strm)

Match & consume the literal characters in the string LITERAL from the input stream STRM. If all the charactrs in LITERAL match the next characters from STRM, return CONS :LITERAL LITERAL. Otherwise, Nil.

Package

stdutils.

Source

time.lisp.

Function: parse-method-spec (spec)
Package

stdutils.

Source

clos.lisp.

Function: parse-percent-percent (strm)

Recognize the literal ’%’ character. This is for the ’%%’ format token.

Package

stdutils.

Source

time.lisp.

Function: parse-time (str &optional recognizers)

Parse a string containing a date-&-time. Return a universal time. If the string can’t be recognized, return NIL.

Package

stdutils.

Source

time.lisp.

Function: parse-time-zone (strm)

Jeezus fucking Krist I hate time zones. A bitch to parse. And a stupid idea to begin with. Fuuuuuck.
Recognize a time zone token from STRM. If the next character is + or -, we expect a two-digit number of hours to follow, such as 7 or 5. After those numbers, the next character may be ’:’ (which is ignored), & then two-digit number of minutes. If the first token of STRM is alpha instead of + or -, we collect alpha-numeric characters into a token, then translate them to a numeric time zone via a hash table.

Package

stdutils.

Source

time.lisp.

Function: parse-time-zone-minus (strm)

Parse the rest of a time zone assuming it begins with a - character. It starts with a two-digit hour.

Package

stdutils.

Source

time.lisp.

Function: parse-time-zone-minus-hour (strm hour)

Parse the minutes, assuming we’ve already parsed the hour.

Package

stdutils.

Source

time.lisp.

Function: parse-time-zone-plus (strm)

Parse a time zone assuming the first character of it was a + character.

Package

stdutils.

Source

time.lisp.

Function: random-choice-dist (list dist)

A random choice from list using the enumerated probability distribution in dist

Package

stdutils.

Source

random.lisp.

Function: rbuild (expr)
Package

stdutils.

Source

functions.lisp.

Function: recognize-minimal-iso (str)

The string is minimal ISO if, after trimming leading & trailing crap, the string is 14 characters & they are all digits.

Package

stdutils.

Source

time.lisp.

Function: recognize-now (str tokens)

Parse the string ’now’, in any mix of case & with or without leading or trailing crap ... er, I mean whitespace characters. NOW is the current time with resolution to the second.

Package

stdutils.

Source

time.lisp.

Function: recognize-tee-iso (str)

Tee-ISO is like minimal ISO except that is has a T character in the middle of it.

Package

stdutils.

Source

time.lisp.

Function: recognize-today (str tokens)

Parse the string ’today’, in any mix of case & with or without leading or trailing crap ... er, I mean whitespace characters. Today is the current year, month, & day, the default hour, 0 for minutes, & 0 for seconds. It assumes GMT so that today executed at the same time in different time zones will give you the same universal time.

Package

stdutils.

Source

time.lisp.

Function: recognize-verbose-iso (str tokens)
Package

stdutils.

Source

time.lisp.

Function: recognize-yyyymmdd-nw (str tokens)

Recognize YYYY MM DD, with only whitespace separating the tokens. There is no time zone.

Package

stdutils.

Source

time.lisp.

Function: sampled-dist (fn iters &optional values)

Compute an estimated probability over equal comparable values from successive no-arg calls to fn over iters. Returns of an alist of (value . prob)

Package

stdutils.

Source

random.lisp.

Function: simple? (x)
Package

stdutils.

Source

match.lisp.

Function: split-file (infile outfile1 outfile2 &key type)

Allows you to split a file by :alternate lines or to split it in half by length

Package

stdutils.

Source

file.lisp.

Function: time-zone-char? (x)

Return true if & only if X is a character & is acceptable in a time zone.

Package

stdutils.

Source

time.lisp.

Function: tokenize (str)

Return a list of tokens. Where possible & convenient, tokens are converted to symbols & numbers. Otherwise, tokens are strings or single characters, always upper case.

Package

stdutils.

Source

time.lisp.

Function: unique-word-id ()
Package

stdutils.

Source

wordseq.lisp.

Function: upgrade-vknode (node)

Upgrade vktable entry from assoc to hashed when the size exceeds the vk threshold. Do this to the table in the provided vknode. Also downgrade (is this a good idea as it may cause thrashing?)

Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Function: varsym? (x)
Package

stdutils.

Source

match.lisp.

Function: vector-keyed-get (vktable vkey)

Internal recursion to walk tree and return value for vector key: vkey

Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Function: vector-keyed-put (vktable vkey value)

Internal recursion to walk tree and add or modify a value for vector key: vkey

Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Function: vector-keyed-rem (vktable vkey)

Remove a vector keyed value from the vktable and clean up any empty nodes or tables created thereby. Also decrement the count

Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Function: vknode-table (node)
Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Setf expander for this function

(setf vknode-table).

Function: vknode-value (node)
Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Setf expander for this function

(setf vknode-value).

Function: vktable-get-extend (vktable node key)

Get node from table. If new node, update vktable item count add a new node to the table for key. If table has exceeded size, upgrade it to a hashed table and return the new node

Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Function: vkti-next-value (iter)
Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Function: xdigit? (x)

Return true if X is a character AND is a digit.

Package

stdutils.

Source

time.lisp.


6.2.6 Generic functions

Generic Reader: alist (object)
Package

stdutils.gds.

Methods
Reader Method: alist ((assoc-table assoc-table))

automatically generated reader method

Source

assoc-table.lisp.

Target Slot

alist.

Generic Writer: (setf alist) (object)
Package

stdutils.gds.

Methods
Writer Method: (setf alist) ((assoc-table assoc-table))

automatically generated writer method

Source

assoc-table.lisp.

Target Slot

alist.

Generic Reader: bidir-index-by-id (object)
Package

stdutils.

Methods
Reader Method: bidir-index-by-id ((bidir-index bidir-index))

automatically generated reader method

Source

collections.lisp.

Target Slot

by-id.

Generic Writer: (setf bidir-index-by-id) (object)
Package

stdutils.

Methods
Writer Method: (setf bidir-index-by-id) ((bidir-index bidir-index))

automatically generated writer method

Source

collections.lisp.

Target Slot

by-id.

Generic Reader: bidir-index-by-obj (object)
Package

stdutils.

Methods
Reader Method: bidir-index-by-obj ((bidir-index bidir-index))

automatically generated reader method

Source

collections.lisp.

Target Slot

by-obj.

Generic Writer: (setf bidir-index-by-obj) (object)
Package

stdutils.

Methods
Writer Method: (setf bidir-index-by-obj) ((bidir-index bidir-index))

automatically generated writer method

Source

collections.lisp.

Target Slot

by-obj.

Generic Reader: current-ptr (object)
Package

stdutils.gds.

Methods
Reader Method: current-ptr ((assoc-table-iterator assoc-table-iterator))

automatically generated reader method

Source

assoc-table.lisp.

Target Slot

current.

Generic Writer: (setf current-ptr) (object)
Package

stdutils.gds.

Methods
Writer Method: (setf current-ptr) ((assoc-table-iterator assoc-table-iterator))

automatically generated writer method

Source

assoc-table.lisp.

Target Slot

current.

Generic Reader: get-data (object)
Package

stdutils.

Methods
Reader Method: get-data ((list-queue-elt list-queue-elt))

automatically generated reader method

Source

queue.lisp.

Target Slot

data.

Generic Writer: (setf get-data) (object)
Package

stdutils.

Methods
Writer Method: (setf get-data) ((list-queue-elt list-queue-elt))

automatically generated writer method

Source

queue.lisp.

Target Slot

data.

Generic Reader: hashed-table-ref (object)
Package

stdutils.gds.

Methods
Reader Method: hashed-table-ref ((hashed-table hashed-table))

automatically generated reader method

Source

hashed-table.lisp.

Target Slot

table.

Generic Writer: (setf hashed-table-ref) (object)
Package

stdutils.gds.

Methods
Writer Method: (setf hashed-table-ref) ((hashed-table hashed-table))

automatically generated writer method

Source

hashed-table.lisp.

Target Slot

table.

Generic Reader: id-generator-id (object)
Package

stdutils.

Methods
Reader Method: id-generator-id ((id-generator id-generator))

automatically generated reader method

Source

collections.lisp.

Target Slot

id.

Generic Writer: (setf id-generator-id) (object)
Package

stdutils.

Methods
Writer Method: (setf id-generator-id) ((id-generator id-generator))

automatically generated writer method

Source

collections.lisp.

Target Slot

id.

Generic Reader: iter-type (object)
Package

stdutils.gds.

Methods
Reader Method: iter-type ((vector-keyed-table-iterator vector-keyed-table-iterator))

automatically generated reader method

Source

vector-keyed-table.lisp.

Target Slot

type.

Reader Method: iter-type ((hashed-table-iterator hashed-table-iterator))

Type can be :key, :value or :pair

Source

hashed-table.lisp.

Target Slot

type.

Reader Method: iter-type ((assoc-table-iterator assoc-table-iterator))

Type can be :key, :value or :pair

Source

assoc-table.lisp.

Target Slot

type.

Generic Writer: (setf iter-type) (object)
Package

stdutils.gds.

Methods
Writer Method: (setf iter-type) ((vector-keyed-table-iterator vector-keyed-table-iterator))

automatically generated writer method

Source

vector-keyed-table.lisp.

Target Slot

type.

Writer Method: (setf iter-type) ((hashed-table-iterator hashed-table-iterator))

Type can be :key, :value or :pair

Source

hashed-table.lisp.

Target Slot

type.

Writer Method: (setf iter-type) ((assoc-table-iterator assoc-table-iterator))

Type can be :key, :value or :pair

Source

assoc-table.lisp.

Target Slot

type.

Generic Reader: key-test (object)
Package

stdutils.gds.

Methods
Reader Method: key-test ((assoc-table assoc-table))

automatically generated reader method

Source

assoc-table.lisp.

Target Slot

key-test.

Generic Writer: (setf key-test) (object)
Package

stdutils.gds.

Methods
Writer Method: (setf key-test) ((assoc-table assoc-table))

automatically generated writer method

Source

assoc-table.lisp.

Target Slot

key-test.

Generic Reader: last-key (object)
Package

stdutils.gds.

Methods
Reader Method: last-key ((vector-keyed-table-iterator vector-keyed-table-iterator))

automatically generated reader method

Source

vector-keyed-table.lisp.

Target Slot

last.

Generic Writer: (setf last-key) (object)
Package

stdutils.gds.

Methods
Writer Method: (setf last-key) ((vector-keyed-table-iterator vector-keyed-table-iterator))

automatically generated writer method

Source

vector-keyed-table.lisp.

Target Slot

last.

Generic Reader: last-ptr (object)
Package

stdutils.gds.

Methods
Reader Method: last-ptr ((hashed-table-iterator hashed-table-iterator))

automatically generated reader method

Source

hashed-table.lisp.

Target Slot

last.

Reader Method: last-ptr ((assoc-table-iterator assoc-table-iterator))

automatically generated reader method

Source

assoc-table.lisp.

Target Slot

last.

Generic Writer: (setf last-ptr) (object)
Package

stdutils.gds.

Methods
Writer Method: (setf last-ptr) ((hashed-table-iterator hashed-table-iterator))

automatically generated writer method

Source

hashed-table.lisp.

Target Slot

last.

Writer Method: (setf last-ptr) ((assoc-table-iterator assoc-table-iterator))

automatically generated writer method

Source

assoc-table.lisp.

Target Slot

last.

Generic Reader: list-ptr (object)
Package

stdutils.gds.

Methods
Reader Method: list-ptr ((hashed-table-iterator hashed-table-iterator))

automatically generated reader method

Source

hashed-table.lisp.

Target Slot

list.

Generic Writer: (setf list-ptr) (object)
Package

stdutils.gds.

Methods
Writer Method: (setf list-ptr) ((hashed-table-iterator hashed-table-iterator))

automatically generated writer method

Source

hashed-table.lisp.

Target Slot

list.

Generic Reader: object-cache-h-q-index (object)
Package

stdutils.

Methods
Reader Method: object-cache-h-q-index ((object-cache-h-q object-cache-h-q))

automatically generated reader method

Source

cache.lisp.

Target Slot

index.

Generic Writer: (setf object-cache-h-q-index) (object)
Package

stdutils.

Methods
Writer Method: (setf object-cache-h-q-index) ((object-cache-h-q object-cache-h-q))

automatically generated writer method

Source

cache.lisp.

Target Slot

index.

Generic Reader: object-cache-h-q-max-size (object)
Package

stdutils.

Methods
Reader Method: object-cache-h-q-max-size ((object-cache-h-q object-cache-h-q))

automatically generated reader method

Source

cache.lisp.

Target Slot

max-size.

Generic Writer: (setf object-cache-h-q-max-size) (object)
Package

stdutils.

Methods
Writer Method: (setf object-cache-h-q-max-size) ((object-cache-h-q object-cache-h-q))

automatically generated writer method

Source

cache.lisp.

Target Slot

max-size.

Generic Reader: object-cache-h-q-queue (object)
Package

stdutils.

Methods
Reader Method: object-cache-h-q-queue ((object-cache-h-q object-cache-h-q))

automatically generated reader method

Source

cache.lisp.

Target Slot

queue.

Generic Writer: (setf object-cache-h-q-queue) (object)
Package

stdutils.

Methods
Writer Method: (setf object-cache-h-q-queue) ((object-cache-h-q object-cache-h-q))

automatically generated writer method

Source

cache.lisp.

Target Slot

queue.

Generic Reader: object-cache-h-q-size (object)
Package

stdutils.

Methods
Reader Method: object-cache-h-q-size ((object-cache-h-q object-cache-h-q))

automatically generated reader method

Source

cache.lisp.

Target Slot

size.

Generic Writer: (setf object-cache-h-q-size) (object)
Package

stdutils.

Methods
Writer Method: (setf object-cache-h-q-size) ((object-cache-h-q object-cache-h-q))

automatically generated writer method

Source

cache.lisp.

Target Slot

size.

Generic Reader: object-registry-id (object)
Package

stdutils.

Methods
Reader Method: object-registry-id ((object-registry object-registry))

automatically generated reader method

Source

collections.lisp.

Target Slot

id.

Generic Writer: (setf object-registry-id) (object)
Package

stdutils.

Methods
Writer Method: (setf object-registry-id) ((object-registry object-registry))

automatically generated writer method

Source

collections.lisp.

Target Slot

id.

Generic Reader: object-registry-name (object)
Package

stdutils.

Methods
Reader Method: object-registry-name ((object-registry object-registry))

automatically generated reader method

Source

collections.lisp.

Target Slot

name.

Generic Writer: (setf object-registry-name) (object)
Package

stdutils.

Methods
Writer Method: (setf object-registry-name) ((object-registry object-registry))

automatically generated writer method

Source

collections.lisp.

Target Slot

name.

Generic Reader: pred (object)
Package

stdutils.

Methods
Reader Method: pred ((list-queue-elt list-queue-elt))

automatically generated reader method

Source

queue.lisp.

Target Slot

pred.

Generic Writer: (setf pred) (object)
Package

stdutils.

Methods
Writer Method: (setf pred) ((list-queue-elt list-queue-elt))

automatically generated writer method

Source

queue.lisp.

Target Slot

pred.

Generic Reader: protocol-operations (object)
Package

stdutils.gds.

Methods
Reader Method: protocol-operations ((iterator iterator))

automatically generated reader method

Source

iterator.lisp.

Target Slot

operations.

Reader Method: protocol-operations ((table table))

automatically generated reader method

Source

table.lisp.

Target Slot

operations.

Generic Writer: (setf protocol-operations) (object)
Package

stdutils.gds.

Methods
Writer Method: (setf protocol-operations) ((iterator iterator))

automatically generated writer method

Source

iterator.lisp.

Target Slot

operations.

Writer Method: (setf protocol-operations) ((table table))

automatically generated writer method

Source

table.lisp.

Target Slot

operations.

Generic Reader: reference (object)
Package

stdutils.gds.

Methods
Reader Method: reference ((vector-keyed-table-iterator vector-keyed-table-iterator))

automatically generated reader method

Source

vector-keyed-table.lisp.

Target Slot

reference.

Reader Method: reference ((hashed-table-iterator hashed-table-iterator))

automatically generated reader method

Source

hashed-table.lisp.

Target Slot

reference.

Reader Method: reference ((assoc-table-iterator assoc-table-iterator))

automatically generated reader method

Source

assoc-table.lisp.

Target Slot

reference.

Generic Writer: (setf reference) (object)
Package

stdutils.gds.

Methods
Writer Method: (setf reference) ((vector-keyed-table-iterator vector-keyed-table-iterator))

automatically generated writer method

Source

vector-keyed-table.lisp.

Target Slot

reference.

Writer Method: (setf reference) ((hashed-table-iterator hashed-table-iterator))

automatically generated writer method

Source

hashed-table.lisp.

Target Slot

reference.

Writer Method: (setf reference) ((assoc-table-iterator assoc-table-iterator))

automatically generated writer method

Source

assoc-table.lisp.

Target Slot

reference.

Generic Function: set-expand (set)
Package

stdutils.

Methods
Method: set-expand ((set scalable-set))
Source

collections.lisp.

Generic Reader: set-membership (object)
Package

stdutils.

Methods
Reader Method: set-membership ((scalable-set scalable-set))

automatically generated reader method

Source

collections.lisp.

Target Slot

membership.

Generic Writer: (setf set-membership) (object)
Package

stdutils.

Methods
Writer Method: (setf set-membership) ((scalable-set scalable-set))

automatically generated writer method

Source

collections.lisp.

Target Slot

membership.

Generic Reader: set-rep (object)
Package

stdutils.

Methods
Reader Method: set-rep ((scalable-set scalable-set))

automatically generated reader method

Source

collections.lisp.

Target Slot

rep.

Generic Writer: (setf set-rep) (object)
Package

stdutils.

Methods
Writer Method: (setf set-rep) ((scalable-set scalable-set))

automatically generated writer method

Source

collections.lisp.

Target Slot

rep.

Generic Reader: set-type (object)
Package

stdutils.

Methods
Reader Method: set-type ((scalable-set scalable-set))

automatically generated reader method

Source

collections.lisp.

Target Slot

type.

Generic Writer: (setf set-type) (object)
Package

stdutils.

Methods
Writer Method: (setf set-type) ((scalable-set scalable-set))

automatically generated writer method

Source

collections.lisp.

Target Slot

type.

Generic Reader: succ (object)
Package

stdutils.

Methods
Reader Method: succ ((list-queue-elt list-queue-elt))

automatically generated reader method

Source

queue.lisp.

Target Slot

succ.

Generic Writer: (setf succ) (object)
Package

stdutils.

Methods
Writer Method: (setf succ) ((list-queue-elt list-queue-elt))

automatically generated writer method

Source

queue.lisp.

Target Slot

succ.

Generic Reader: table-count (object)
Package

stdutils.gds.

Methods
Reader Method: table-count ((vector-keyed-table vector-keyed-table))

automatically generated reader method

Source

vector-keyed-table.lisp.

Target Slot

count.

Generic Writer: (setf table-count) (object)
Package

stdutils.gds.

Methods
Writer Method: (setf table-count) ((vector-keyed-table vector-keyed-table))

automatically generated writer method

Source

vector-keyed-table.lisp.

Target Slot

count.

Generic Reader: table-root (object)
Package

stdutils.gds.

Methods
Reader Method: table-root ((vector-keyed-table vector-keyed-table))

automatically generated reader method

Source

vector-keyed-table.lisp.

Target Slot

root.

Generic Writer: (setf table-root) (object)
Package

stdutils.gds.

Methods
Writer Method: (setf table-root) ((vector-keyed-table vector-keyed-table))

automatically generated writer method

Source

vector-keyed-table.lisp.

Target Slot

root.

Generic Reader: vhash-threshold (object)
Package

stdutils.gds.

Methods
Reader Method: vhash-threshold ((vector-keyed-table vector-keyed-table))

automatically generated reader method

Source

vector-keyed-table.lisp.

Target Slot

threshold.

Generic Reader: vkti-stack (object)
Package

stdutils.gds.

Methods
Reader Method: vkti-stack ((vector-keyed-table-iterator vector-keyed-table-iterator))

automatically generated reader method

Source

vector-keyed-table.lisp.

Target Slot

stack.

Generic Writer: (setf vkti-stack) (object)
Package

stdutils.gds.

Methods
Writer Method: (setf vkti-stack) ((vector-keyed-table-iterator vector-keyed-table-iterator))

automatically generated writer method

Source

vector-keyed-table.lisp.

Target Slot

stack.


6.2.7 Structures

Structure: broken-time
Package

stdutils.

Source

time.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: ss
Type

number

Initform

0

Readers

broken-time-ss.

Writers

(setf broken-time-ss).

Slot: mm
Type

integer

Initform

0

Readers

broken-time-mm.

Writers

(setf broken-time-mm).

Slot: hh
Type

integer

Initform

0

Readers

broken-time-hh.

Writers

(setf broken-time-hh).

Slot: dd
Type

integer

Initform

0

Readers

broken-time-dd.

Writers

(setf broken-time-dd).

Slot: mo
Type

integer

Initform

0

Readers

broken-time-mo.

Writers

(setf broken-time-mo).

Slot: yr
Type

integer

Initform

0

Readers

broken-time-yr.

Writers

(setf broken-time-yr).

Slot: dow
Readers

broken-time-dow.

Writers

(setf broken-time-dow).

Slot: dst?
Readers

broken-time-dst?.

Writers

(setf broken-time-dst?).

Slot: zone
Readers

broken-time-zone.

Writers

(setf broken-time-zone).

Slot: ampm
Readers

broken-time-ampm.

Writers

(setf broken-time-ampm).


6.2.8 Classes

Class: safe-list-mixin
Package

stdutils.

Direct subclasses

safe-list-queue.

Class: safe-queue-mixin
Package

stdutils.

Direct subclasses

safe-list-queue.

Class: vector-keyed-table-iterator
Package

stdutils.gds.

Source

vector-keyed-table.lisp.

Direct superclasses

iterator.

Direct methods
Direct slots
Slot: reference
Initargs

:reference

Readers

reference.

Writers

(setf reference).

Slot: type
Package

common-lisp.

Initargs

:type

Readers

iter-type.

Writers

(setf iter-typ