Package Metabang.Utilities - internal and external symbols

Part of:

asdf-system docudown, asdf-system cl-markdown, asdf-system cl-containers, asdf-system dynamic-classes, asdf-system metatilities-base
See only external symbols
Package Metabang.Utilities uses the packages Common-Lisp, Defsystem-Compatibility, Metabang.Bind and Metabang.Cl-Containers. It is also known as Metatilities. It has 995 total symbols and 315 external ones.

Condition

invalid-stream-specifier-error
source/target-file-error

General condition for file errors that have a source and target.

source/target-source-does-not-exist-error

This error is signaled when the source file does not exist.

source/target-target-already-exists-error

This error is signaled when the target pathname already exists.

Class

help-text-mixin
margins-mixin
view-requiring-cleanup-mixin

A mixin for views that require clean-up before they
are destroyed. To use, inherit from this c...

Variable

%table-cell-string-stream
*a*-count*
*a*-limit*
*automatic-slot-accessors?*
*automatic-slot-initargs?*
*clos-slot-options*
*default-interface*
*defclass-copy-condition-function*
*defclass-generate-make-load-form*
*defcondition-options*

Extra options to defcondition macro. Format is a list of sub-lists.
Each sublist should be of le...

*development-mode*
*file-if-exists*

Default behavior to use when opening files if they already exist.

*file-print-right-margin*

Default print right margin to use in with-new-file

*filename-escape-characters*
*glu-blast-default-selector*
*glu-blast-pathname-defaults*
*newsym-counter*

Counter used by NEWSYM for generating print names.

*progress-bar-count*
*prune-unknown-slot-options*
*samep-test*

Used by samep to determine if two things are 'the same'. Defaults to #'equal

*samep-tolerance*

Used by samep to determine how close things need to be to be 'the same'.

*spy-debugging*
*spy-no-expand*
*spy-no-newline*
*spy-output*
*stream-buffer-size*
*use-native-debugger*
+day-list+
+days-per-month+
+dow-output-list
+fluff-list+
+month-list+
+month-output-list+
+very-small-number+

Someones idea of a very small number. Used in very-small-number-p.

+whitespace-characters+

A list of characters that should be treated as whitespace. See,
for example, whitespacep.

time-interval-array
time-interval-unit-types

Constant

+hours-per-day+

The number of hours in one day.

+longer-format-index+
+mac-os-filename-limit+
+minutes-per-hour+

The number of minutes in one hour.

+seconds-per-day+

The number of seconds in one day.

+seconds-per-hour+

The number of seconds in one hour.

+seconds-per-minute+

The number of seconds in one minute.

+shorter-format-index+
+usual-days-per-year+

The number of days in an ordinary year.

Function

%table-cell-contents-string-new
add-class-if-necessary

Adds the superclass to the class-list unless it's already there.

add-classes-if-necessary
all-pairs

Returns all pairs of elements in list LST.

apply-if-exists

If the function function can be found in package, then call it
with args.

Returns nil if ...

array-row

Returns the row'th row of array. Array is assumed to be two dimensional and row
is assumed to be...

beam-search

Search highest scoring states first until goal is reached,
but never consider more than beam-wi...

best

fn must be a predicate of two arguments; returns the element
which, according to the predicate, b...

best-first-search

Search lowest cost states first until goal is reached.

binary-search
binding
breadth-first-search

Search old states first until goal is reached.

build-call
build-compose
car-safe

Returns the car of `x' if it's a cons, NIL otherwise.

cdr-safe

Returns the cdr of `x' if it's a cons, NIL otherwise.

choose-directory-question
choose-file-question
choose-item-from-pup

Present an interface to allow a choice from a list. Can throw :cancel.

choose-item-from-pup-no-singletons

Like choose-item-from-pup, but just returns the datum if it
is an atom or a singleton list.

choose-item-question
choose-new-file-question
circular-list

Builds a circular list with `elements'.

class-copyable-p
cleanup-parsed-parameter
collect-forms
collect-garbage

Tell lisp that now is a good time to collect any accumulated garbage.

collect-lines
collect-matching-files
collect-to-char
collect-to-not
combinations

Returns all combinations of elements in LISTS, where first
element of each combination is from li...

compact-array

Destructively compacts an array with fill-pointer. Works on type T
arrays and considers elements ...

compile-expression
compose

Return a function that is the composition of fn1 and fn2. I.e.,
(compose f1 f2)[x] == (f1 (f2 [x...

conjoin

Returns the conjuction of the predicates given as arguments. As with ~
AND, evaluation stops ...

constant-expression-p
constant-function-p
convert-clauses-into-lists
convert-clauses-into-lists*
copy-array
copy-file

Copies the file designated by the non-wild pathname designator FROM
to the file designated by the...

copy-stream

Copy into TO from FROM until end of the input stream, in blocks of
stream-buffer-size. The str...

current-load-file

Returns (if possible) the value of the file currently being loaded or from which
code is currentl...

curry

Curries fun on the fly

curry-after

Sometimes we want to curry a function over some arguments
that appear at the end of the arg list ...

date-and-time-string

Current date and time returned as a string.

date-string

Date returned as a string, in the format `Wednesday, June 7, 1989'

date-string-brief

Returns a string representing the time (which defaults to the current universal time). The stri...

day->string

Returns the name of day-of-the-week. The parameter should be a number between 0 and 6 where 0 r...

day-of-year

Returns the day of the year [1 to 366] of the specified date [which must be (CL) universal time f...

day-ok-p
days-in-month

Returns the number of days in the specified month. The month should be
between 1 and 12.

default-interface

Return the current default interface (this is setfable).

delete-directory
delete-if!

Just like `delete-if' except that it returns two values: a list of the
deleted items, and the new...

depth-first-search

Search new states first until goal is reached.

direct-superclasses-defclass*
directory-pathname-p
disjoin

Returns the disjunction of the predicates given as arguments. As with ~
OR, evaluation stops ...

dotted-pair-p

Returns true if and only if putative-pair is a dotted-list. I.e., if putative-pair is a cons ...

ensure-directory-pathname
ensure-filename-safe-for-os
ensure-function
ensure-list

If x is a list then ensure-list returns it. Otherwise, this returns a singleton list containing...

ensure-wild-file-spec
eos-namestring-from-date

forms a namestring based on date and time, in the form of
<perfix>-09JUN03-010903 where 010903 is...

export-exported-symbols

Make the exported symbols in from-package be also exported from to-package.

extract-head-form

Give back the thing that can appear as the head of a procedure
application.

file-newer-than-file-p

Compares the write dates of file1&#39; and file' and returns t
if file&#39; is newer than file2' or ...

file-package

Tries to determine the package of a file by reading it one form at a time and looking for in-pack...

file-to-list

Convert a file into a list by opening it and calling read repeatedly.

filter-values

FILTER as defined in OnLisp_. Given a list, collects all the non-nil
results of applying FN...

finalize-class-if-necessary

Finalizes thing if necessary. Thing can be a class, object or symbol naming a class. Returns the ...

find-all

Find all those elements of sequence that match item,
according to the keywords. Doesn't alter ...

find-all-if
find-all-if-not
firstn

Returns first 'n' elements of list.

fixnump

Same as (typep arg 'fixnum). A lot of Explorer code was written using this,
and it's easier to i...

flatten

Flattens LIST. Does not handle circular lists but does handle dotted lists.

float->integer

You can't coerce a float to an integer, because they want to you decide
whether you want to use r...

form-keyword

Finds or interns a symbol in the keyword package whose name is formed by concatenating the pretty...

form-symbol

Finds or interns a symbol in the current package whose name is formed by concatenating the pretty...

form-symbol-in-package

Finds or interns a symbol in package whose name is formed by concatenating the pretty printed rep...

form-uninterned-symbol

Creates and returns an uninterned symbol whose name is formed by concatenating the pretty printed...

format-date

Formats universal dates using the same format specifiers as NSDateFormatter. The format is:

%% -...

function-expression-p
gc-time

Returns the total amount of time that this Lisp session has spent in garbage collection.

gensym*
gensym0

Ignores its argument and returns a gensym. Useful for mapping of a bunch of
arbitrary forms, sin...

glu-blast

A tools for wiping out files en masse, according to a predicate. Use this guy ~
at your own r...

good-filename-char-p

Returns T if CHAR is legal in a filename.

graph-search

Find a state that satisfies goal-p. Start with states,
and search according to successors and ...

group

Return the elements of list&#39; grouped in sublists of length n,' which should
be a positive integ...

index-of

finds the index of an item in a list, or, in a list embedded in a list.
this allows the user to m...

init-time-interval-array
inspect-things
invalid-stream-specifier-error
is-default-interface-available-p
iter-wide-search

Search, increasing beam width from width to max.
Return the first solution found at any width.

iterate-over-indexes

Apply fn to lists of indexes generated from symbol counts. The counting is
done so that the first...

lambda-list->args

Takes a formal parameter list, possibly containing things like &optional or (key
default), and re...

leap-year-p

Returns t if the specified year is a leap year. I.e. if the year
is divisible by four but not by ...

length-1-list-p

Is x a list of length 1? Note that this is better than the naive (= (length x) 1) because we don'...

length-exactly-p

Returns true if the lenght of thing is exactly n... no more, no less.

linearize-array
list->formatted-string

This is a convenience function for when the intracacies of format are just too much. It takes a l...

list-choose-k

Return a list of lists of all possible ways of choosing
k-elements from the original list.

make-initialized-array

Creates an array initialized from using `inits' which is a list of the form
((<index-1> <init-fo...

make-sorter

Returns a sorter-predicate that returns true if it follows the KEYS-AND-PREDICATES
specification....

make-sorter-fn

Return a combiner function that sorts according to cost-fn.

make-ui-point
map->

Really generalized mapping.

map-combinations

Call fn on all combinations of elements in LISTS, where first
element of each combination is from...

map-files

Apply the function to all of the files in wildcarded-file-spec. Any
additional args are passed al...

map-lines
map-matching-files
map0-n

Returns list resulting from applying fn to all numbers i in [0, n].

map1-n

Returns list resulting from applying fn to all numbers i in [1, n].

mapa-b

Returns list resulting from applying fn to all numbers i in [a, b].

mapappend

A non-destructive mapcan.

maparray
maparray!
mapcan1

Like MAPCAN, but for a single list. Doesn't cons, and is reasonably
well optimized.

mapcars

Has the some effect as (mapcar fn (apply #'append lsts)).

mappend
match
maximum-filename-length
minimize

Returns the smallest'' element. Supports all the usual reduce keywords.
PRED sees the new val...

month->string

Returns the name (in English) of the month. Format can be :long or :short.

month-ok-p
most

fn is a scoring function of one argument; returns the element
with the highest score.

mostn
move-file
nearly-equal-p

Returns true if x and y are within threshold of each other.

nearly-zero-p

Returns true if x is within threshold of 0d0.

neq
new-states

Generate successor states that have not been seen before.

newsym

Create a new uninterned symbol whose print name begins with `prefix', which
may be a string or a ...

nmerge-list

Destructive merge of list2&#39; into list1'. Both lists are may be changed.
This works best if the...

nth-elt-of-cross-product

Suppose we created a multidimensional array, with as many dimensions as
we have sets, and in whic...

nth-elt-of-cross-product-as-multiple-values

Returns list of values of `nth-elt-of-cross-product' as multiple values.
See it for documentation...

nth-ok-p
object->string

Uses the Common Lisp string&#39; function to convert object' into a string, but
also converts objec...

parse-brief-slot

Returns a verbose-style slot specification given a brief style, consisting of
a single symbol, th...

parse-date-and-time

Converts `spec' to a universal time. Spec can either be a number, in which
case this is a no-op,...

parse-date-and-time-string

Parses strings expressing the day and/or time, such as 12/4/61 4:03:15.
The date part should look...

parse-interval-or-never

parse a string either describing a time interval or “never”.
for a time interval, the number of s...

parse-number

return a number parsed from the contents of string, or a part of it.
from and to specify the part...

parse-time
partition

Partitions SEQ based on FN. Returns twa values: (a) the list of all elements
of SEQ for which...

pathname-is-old-cvs-junk-p
pathname-name+type

Returns a new pathname consisting of only the name and type from
a non-wild pathname.

pathname-samep

Returns true if the logical translations of p1 and p2 have
the same (string=) namestrings.

pathname-without-name+type

Chop off any name and type information from a pathname.

percent-overlap

Returns what percentage of elements in list-a are in list-b
(alternate definition: Returns what p...

permute
physical-pathname-directory-separator

Returns a string representing the separator used to delimit directories
in a physical pathname. ...

power-set

Returns the power set of SET. This of course uses exponential time and space.

prepend

Prepend y to start of x

pretty-namestring-from-date

Returns a representation of the date (which defaults to the current date and time) preceeded by a...

print-brief-time-interval

Returns a string that describes the time elapsed by `secs' in the format [H]HhMm. For exampl...

print-brief-ut

Prints only those aspects of ut&#39; that differ from ref-time.' Both times
should be in universal-...

print-date

Prints the information in the form `Wednesday, June 7, 1989'

print-date-verbose

print the date and time in verbose form on stream.
if stream is nil, construct and return a strin...

print-time

Prints the information in the form `12:34 pm'

print-time-interval

Prints the time elapsed by seconds.&#39; For example, 125 prints 2 minutes, 5<br> seconds&#39;&#39; If print-...

print-time-with-no-colons

Prints the information in the form `12-34 pm'

print-universal-date-verbose

print the universal-time ut in verbose form on stream, decoding for timezone.
if stream is nil, c...

print-universal-time

Prints a universal time to stream using print-time. The output can be normal or brief.

print-universal-time-with-no-colons
print-ut

Prints ut&#39; in the format [M]M/[D]D [H]H:MM or [M]M/[D]D [H]H:MM:SS if<br>print-seconds?' is true. ...

query-user-for-integer
query-user-for-string
quit-lisp
rbuild
read-date

strips the date signature off of the front of string. can handle slash-delimited format:
[M]M/[D]...

read-time

strips the time signature off of the front of string. can handle the following format:
[H]H(:|.)M...

reduce-if

See MINIMIZE. Primary difference: no non-standard keyword behavior.

relative-pathname
remove-dead-versions
remove-illegal-filename-characters

Removes illegal characters from the file name NAME.

remove-leading-quote

Removes the first quote from a list if one is there.

remove-members

Removes all members of BAD from the list FROM.

rename-file-if-present

Renames a file to a unique name based on its file-write-date. See unique-file-name-from-date.

same-length-p

An optimized version of the naive (= (length list-1) (length list-2)).

search-all

Find all solutions to a search problem, using beam search.

set-equal

Returns t if list1 and list2 are equal (as sets). If list1 and list2 are not
equal returns (as mu...

short-eos-namestring-from-date
sort-using-list-order

Sorts the list x&#39; using the other list list' as a index.

spy-do-form
spy-expand-form
spy-parse-arglist
spy-prin1
stop-notes
string->month
string->symbol

Returns the string as a bare symbol, replacing any whitespace with dashes. ~
This is the (near...

string-after

Returns the part of string before the first appearance of CHAR.
(If FROM-END is T, we count fr...

string-before

Returns the part of string before the first appearance of CHAR.
(If FROM-END is T, we count fr...

string-contains-p

Returns t if string contains the string-to-find. Case insensitive unless specified, and you can a...

string-ends-with

Returns true if string starts with prefix.

Use the keyword argument test (which defaults t...

string-starts-with

Returns true if string starts with prefix.

Use the keyword argument test (which defaults t...

string-trim-if
strip-whitespace
substring
superclasses-defclass*
symbol->string

Returns a symbol as a string, replacing any dashes with spaces. The inverse ~
of string->symbo...

time-date

Returns the date part of the given time.

time-day-of-week

Returns the day-of-week part of the given time.

time-daylight-savings-time-p

Returns the daylight-savings-time-p part of the given time.

time-hour

Returns the hour part of the given time.

time-interval-to-seconds

return a number of seconds parsed from string.
if the string cannot be parsed, the first value is...

time-minute

Returns the minute part of the given time.

time-month

Returns the month part of the given time.

time-second

Returns the second part of the given time.

time-string

Time returned as a string, in the format `12:34 pm'

time-string-with-no-colons

Time returned as a string, in the format `12-34 pm'

time-year

Returns the year part of the given time.

token-type

Determines which reader to use for the next token.

tokenize-string

Splits a string at delimiter and returns a list of the parts.

total-bytes-allocated

Returns the total number of bytes that this Lisp session has allocated.

transpose
transpose2
tree-find

Finds the atom ITEM within the arbitrarily-nested cons TREE.

tree-find-if

Finds first cons in TREE that satisfies TEST. This is guaranteed to be
inefficient.

tree-map

Maps FN over every atom in TREE.

tree-remove-if

Removes all atoms from TREE that satisfy TEST.

tree-search

Find a state that satisfies goal-p. Start with states,
and search according to successors and ...

unique-file-name-from-date

Returns a namestring whose suffix is the date in the form YYMMMDDHHMMSS. The names prefix will ...

unused-variables

Returns which of the variables defined by LAMBDA-LIST do not appear in form.
This works simply...

vars-in
varsym?
very-small-number-p
whitespacep

Returns true if char is an element of +whitespace-characters+
and nil otherwise.

y-or-n-question
yearp

Generic-Function

argmax

Returns the item in items with the biggest (#'>) value of function. See best-item for a generaliz...

argmin

Returns the item in items with the smallest (#'<) value of function.

best-item

Returns the item in items with the 'best' value of function where
'best' is determined by test. Y...

choose-directory-question*
choose-file-question*
choose-item-from-pup*
choose-item-question*
choose-new-file-question*
close-progress-bar
close-stream-specifier

Close a stream and handle other bookkeeping as appropriate.

collect-garbage*
defclass*-superclasses

Returns the value of defclass*-superclasses for class-name

dialog-item-value
element
gc-time*
get-class

Returns the class of thing or nil if the class cannot be found. Thing can be a class, an object r...

gui-error
gui-error*
gui-warn
gui-warn*
help-spec
inspect-thing
inspect-thing*
interface-beep
interface-beep*
is-interface-available-p

Returns true is interface-name is available.

length-at-least-p

Returns true if thing has no fewer than length elements in it.

length-at-most-p

Returns true if thing has no more than length elements in it.

make-color*
make-color**
make-gray
make-gray*
make-progress-bar
make-scaled-color
make-scaled-color*
make-stream-from-specifier

Create and return a stream from specifier, direction and any other argsuments

make-ui-point*
map-forms
map-forms-in-file

Reads file one form at a time (using read) and applies function to each one in turn.

map-lines-in-file

Reads the file to which file-specifier resolves one line at a time (using read-line) and applies ...

name
nearly-samep

Compares two things and returns true if they are the same
in the sense of being interchangable. T...

next-element
note-view-settings-changed

Does whatever makes sense to bring a view up-to-date
when its settings have changed (e.g., it's ...

process-parameters
process-parameters*
progress-bar-value
prompt-for
prompt-for*
put-item-on-clipboard
put-item-on-clipboard*
quit-lisp*

Quits Lisp

report-condition
reset
samep

Compares two things and returns true if they are the same
in the sense of being interchangable. I...

select-instrument
select-instrument*
shorten-filename-for-os

Returns a file-name for file-specifier such that it is a valid name for the current underlying OS...

size

Returns the number of items currently in the container.

sound-note
sound-note*
stop-notes*
total-bytes-allocated*
total-size
uniquify-file-name

Returns a file name that is not currently in use. The strategy used if there is a conflict is to ...

update-dialog-ui

A generic place to hang dialog updating code.

view-scale
view-x/view-y->x/y
y-or-n-question*

Asks a yes or no question spiffily.

Macro

aand

Anaphoric AND: Binds the symbol it&#39; to the value of the preceding arg.'

ablock
acond

Anaphoric COND: Binds the symbol it&#39; to the value of the preceding clause.'

acond2

Needs to be documented. See Paul Graham's book.

aif

Anaphoric IF: Binds the symbol it&#39; to the value of the test.'

aif2

Needs to be documented. See Paul Graham's book.

alambda

Anaphoric LAMBDA: Binds the symbol `self' to the function, so that it can
call itself recursively...

allf
aprog1

Anaphoric prog1. This binds IT to the first form so that it can
be used in the rest of the forms....

assert*

A variation on the `assert' macro in which the restart handler is bound
during the execution of t...

atypecase

Atypecase is anaphoric typecase. It is just like typecase except that it binds the thing being te...

awhen

Anaphoric WHEN: Binds the symbol it&#39; to the value of the test.'

awhen2

Needs to be documented. See Paul Graham's book.

awhile

Anaphoric WHILE loop: Executes expr&#39; and body' as long as expr&#39; is true.<br> Binds the symbol it'...

awhile2

Needs to be documented. See Paul Graham's book.

concf
defclass*

Like 'defclass-brief' but also provides the :MAKE-LOAD-FORM-P, :EXPORT-P,
:EXPORT-SLOTS, :NO-COP...

defclass-brief

A macro with simpler syntax than `defclass' that allows some
briefer ways of expressing things. ...

defclass-property

Create getter and setter methods for 'property' on symbol's property lists.

defcondition

Defcondition is a handy shortcut for defining Common Lisp conditions. It
supports all of #[H][def...

deletef

Same as (setf list (apply #'delete item list delete-args)).

deprecated

Wrap a function definition with `deprecated' to indicate that it should
no longer be used. If the...

doplist

Iterate over each key/value pair in a plist. Key and Value are
bound to successive pairs in Plis...

ensure-type
eval-always

Expands into an eval-when with all the fixings. It's nothing but a shorthand.

fn

A general-purpose function-builder. EXPR should be of the
form (OPERATOR . ARGUMENTS). Will ...

funcall-if
generate-time-part-function
handle-errors
handle-token
handler-bind*

Special handler-bind which allow two special control contructs
inside of the condition handlers. ...

handler-case-if
if-match
iterate-lines

An enpowered version of map-lines-in-file. This one is a macro
so that you can use (return) to st...

make-load-form*
make-obsolete
maxf

Sets place&#39; to max of its old value and value'

minf

Sets place&#39; to min of its old value and value'

muffle-redefinition-warnings

Evaluate the body so that redefinition warnings will not be
signaled. (suppored in Allegro, Cloz...

multf

Sets `place' to (* delta place)

named-lambda

Like `lambda,' except that the lambda has a name, which can be very useful if
the function is exe...

nilf
nyi

Signals an error saying that this function is not yet implemented. The args
are ignored, but by ...

once-only

Generate code that evaluates certain expressions only once.
This is used in macros, for computing...

push-end

Like PUSH, except that the value goes on the end of the PLACE list.
If PLACE is (), then (value...

rebinding

Similar to ONCE-ONLY. Typical usage:

(defmacro square (x)
(rebinding (x)
`...

removef

Same as (setf list (apply #'remove item list delete-args)).

some*

An iterative version of the function `some'. Bind each element of list in
turn. If the body ret...

spy

A debugging tool: wrapping this around a form causes both the form and its
values to be printed o...

spy*

Like spy, but the first argument is a debugging tag and spy-debugging is implicitly
nil.

spyx

A version of spy&#39; which expands the forms. See the documentation for spy,'
particularly the :e...

tf
toggle!

Switches the values of each place to its opposite as in
(setf x (not x)).

toggle-aux
with-array
with-atomic-execution
with-gensyms
with-input

Create an input stream from source and bind it to var within the body of the with-input form. The...

with-matrix
with-new-file
with-output

Create an output stream from source and bind it to var within the body of the with-output form. T...

with-process-message
with-progress-bar
with-slot-bindings

makes this: (with-slot-bindings (((x x2) double-float) ((y y2) double-float)) location-2 body)
in...

with-standard-printing

Similar to WITH-STANDARD-IO-SYNTAX, but doesn't change packages.

with-stream-from-specifier
with-struct
with-unique-names

Binds the symbols in VARS to gensyms. cf with-gensyms.

with-variables

Using gensyms is necessary to prevent variables produced by macro expansions
from interfering wit...

without-interrupts

Executes `forms' as a critical section; no other threads can get in.

\

Similar to Haskell's \ operator. Typical usage:

(\ x y = * x y)

is like

(lambd...