Package Metabang.Utilities - external symbols

Part of:

asdf-system cl-containers, asdf-system metatilities-base
See internal symbols too
Package Metabang.Utilities uses the packages Common-Lisp, Defsystem-Compatibility, Metabang.Bind and Metabang.Cl-Containers. It is also known as Metatilities. It has 1000 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

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

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

*samep-test*

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

*use-native-debugger*
+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.

Constant

+hours-per-day+

The number of hours in one day.

+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.

+usual-days-per-year+

The number of days in an ordinary year.

Function

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 apply it
to 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...

best

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

binary-search
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
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 ...

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
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...

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...

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
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-list

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

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.

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...

find-all

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

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:

%% -...

funcall-if-exists

If the function function can be found in package, then funcall it
on args.

Returns nil if...

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...

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...

gui-error
gui-warn
inspect-thing
inspect-things
interface-beep
invalid-stream-specifier-error
is-default-interface-available-p
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...

make-color*

given red, green, and blue, returns an encoded rgb value

make-gray
make-initialized-array

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

make-scaled-color
make-sorter

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

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-forms
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!
mapcars

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

match
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.

most

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

mostn
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
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...

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...

partition

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

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.

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-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-universal-time

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

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. ...

process-parameters
prompt-for
put-item-on-clipboard
query-user-for-integer
query-user-for-string
quit-lisp
reduce-if

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

relative-pathname
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)).

select-instrument
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.

sound-note
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
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-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.

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...

very-small-number-p
whitespacep

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

y-or-n-question

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...

close-progress-bar
collect-garbage*
dialog-item-value
element
inspect-thing*
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-progress-bar
make-ui-point*
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 ...

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 ...

progress-bar-value
quit-lisp*

Quits Lisp

samep

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

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.

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

Macro

allf
assert*

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

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.

funcall-if
handle-errors
handler-bind*

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

handler-case-if
if-match
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...

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)).

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-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...