Package Metabang.Utilities - external symbols

Part of:

asdf-system asdf-install-tester, asdf-system defsystem-compatibility, asdf-system metatilities-base
See internal symbols too
Package Metabang.Utilities uses the packages Cl-Fad, Common-Lisp, Metabang.Bind, Metabang.Cl-Containers and Metabang.Moptilities. It is also known as Metatilities. It has 1,084 total symbols and 386 external ones.


source/target-file-errorGeneral condition for file errors that have a source and target.
source/target-source-does-not-exist-errorThis error is signaled when the source file does not exist.
source/target-target-already-exists-errorThis error is signaled when the target pathname already exists.


view-requiring-cleanup-mixinA mixin for views that require clean-up *before* they
are destroyed. To use, inherit from this c...


*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
+very-small-number+Someones idea of a very small number. Used in very-small-number-p.


+minutes-per-hour+The number of minutes in one hour.
+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.


add-class-if-necessaryAdds the superclass to the class-list unless it's already there.
all-pairsReturns all pairs of elements in list LST.
array-rowReturns the row'th row of array. Array is assumed to be two dimensional and row
is assumed to be...
bestfn must be a predicate of two arguments; returns the element
which, according to the predicate, b...
car-safeReturns the car of `x' if it's a cons, NIL otherwise.
cdr-safeReturns the cdr of `x' if it's a cons, NIL otherwise.
choose-item-from-pupPresent an interface to allow a choice from a list. Can throw :cancel.
choose-item-from-pup-no-singletonsLike choose-item-from-pup, but just returns the datum if it
is an atom or a singleton list.
circular-listBuilds a circular list with `elements'.
collect-garbageTell lisp that now is a good time to collect any accumulated garbage.
combinationsReturns all combinations of elements in LISTS, where first
element of each combination is from li...
compact-arrayDestructively compacts an array with fill-pointer. Works on type T
arrays and considers elements ...
composeReturn a function that is the composition of fn1 and fn2. I.e.,
(compose f1 f2)[x] == (f1 (f2 [x...
conjoinReturns the conjuction of the predicates given as arguments. As with ~
AND, evaluation stops ...
copy-fileCopies the file designated by the non-wild pathname designator FROM
to the file designated by the...
curryCurries fun on the fly
curry-afterSometimes we want to curry a function over some arguments
that appear at the end of the arg list ...
date-and-time-stringCurrent date and time returned as a string.
date-stringDate returned as a string, in the format `Wednesday, June 7, 1989'
date-string-briefReturns a string representing the `time` (which defaults to the current universal time). The stri...
day->stringReturns the name of `day-of-the-week`. The parameter should be a number between 0 and 6 where 0 r...
day-of-yearReturns the day of the year [1 to 366] of the specified date [which must be (CL) universal time f...
days-in-monthReturns the number of days in the specified month. The month should be
between 1 and 12.
default-interfaceReturn the current default interface (this is setfable).
disjoinReturns the disjunction of the predicates given as arguments. As with ~
OR, evaluation stops ...
dotted-pair-pReturns true if and only if `putative-pair` is a dotted-list. I.e., if `putative-pair` is a cons ...
ensure-listIf `x` is a list then ensure-list returns it. If `x` is an atom, then this returns a singleton li...
eos-namestring-from-dateforms a namestring based on date and time, in the form of
<perfix>-09JUN03-010903 where 010903 is...
export-exported-symbolsMake the exported symbols in from-package be also exported from to-package.
file-newer-than-file-pCompares the write dates of `file1' and `file' and returns T if `file' is newer than
`file2' or i...
file-packageTries to determine the package of a file by reading it one form at a time and looking for in-pack...
file-to-listConvert a file into a list by opening it and calling read repeatedly.
filter-valuesFILTER as defined in _On_Lisp_. Given a list, collects all the non-nil
results of applying FN...
find-allFind all those elements of sequence that match item,
according to the keywords. Doesn't alter ...
find-all-ifReturn a copy of sequence with elements such that predicate(element)
is null removed
find-all-if-notReturn a copy of sequence with elements such that predicate(element)
is non-null removed
find-or-create-classTry to find a class which is a subclass of root and all of the other `classes` as well. If no suc...
firstnReturns first 'n' elements of list.
flattenFlattens LIST. Does not handle circular lists but does handle dotted lists.
float->integerYou can't coerce a float to an integer, because they want to you decide
whether you want to use r...
form-keywordFinds or interns a symbol in the keyword package whose name is formed by concatenating the pretty...
form-symbolFinds or interns a symbol in the current package whose name is formed by concatenating the pretty...
form-symbol-in-packageFinds or interns a symbol in package whose name is formed by concatenating the pretty printed rep...
form-uninterned-symbolCreates and returns an uninterned symbol whose name is formed by concatenating the pretty printed...
format-dateFormats universal dates using the same format specifiers as NSDateFormatter. The format is:

%% -...
gc-timeReturns the total amount of time that this Lisp session has spent in garbage collection.
gensym0Ignores its argument and returns a gensym. Useful for mapping of a bunch of
arbitrary forms, sin...
graph-searchFind a state that satisfies goal-p. Start with states,
and search according to successors and ...
groupReturn the elements of `list' grouped in sublists of length `n,' which should
be a positive integ...
iterate-over-indexesApply fn to lists of indexes generated from symbol counts. The counting is
done so that the first...
lambda-list->argsTakes a formal parameter list, possibly containing things like &optional or (key
default), and re...
leap-year-pReturns t if the specified year is a leap year. I.e. if the year
is divisible by four but not by ...
length-1-list-pIs x a list of length 1? Note that this is better than the naive (= (length x) 1) because we don'...
length-exactly-pReturns true if the lenght of `thing` is exactly `n`... no more, no less.
list->formatted-stringThis is a convenience function for when the intracacies of format are just too much. It takes a l...
make-initialized-arrayCreates an array initialized from using `inits' which is a list of the form
((<index-1> <init-fo...
make-sorterReturns a sorter-predicate that returns true if it follows the KEYS-AND-PREDICATES
map->Really generalized mapping.
map-combinationsCall fn on all combinations of elements in LISTS, where first
element of each combination is from...
map-filesApply the function to all of the files in wildcarded-file-spec. Any
additional args are passed al...
map0-nReturns list resulting from applying fn to all numbers i in [0, n].
map1-nReturns list resulting from applying fn to all numbers i in [1, n].
mapa-bReturns list resulting from applying fn to all numbers i in [a, b].
mapappendA non-destructive mapcan.
mapcarsHas the some effect as (mapcar fn (apply #'append lsts)).
minimizeReturns the ``smallest'' element. Supports all the usual reduce keywords.
PRED sees the new val...
month->stringReturns the name (in English) of the month. Format can be :long or :short.
mostfn is a scoring function of one argument; returns the element
with the highest score.
nearly-equal-pReturns true if x and y are within threshold of each other.
nearly-zero-pReturns true if `x` is within threshold of 0d0.
newsymCreate a new uninterned symbol whose print name begins with `prefix', which
may be a string or a ...
nicely-format-filenameWrite out a representation of file to stream. There are options to show or hide the type of the f...
nmerge-listDestructive merge of `list2' into `list1'. Both lists are may be changed.
This works best if the...
nth-elt-of-cross-productSuppose we created a multidimensional array, with as many dimensions as
we have sets, and in whic...
nth-elt-of-cross-product-as-multiple-valuesReturns list of values of `nth-elt-of-cross-product' as multiple values.
See it for documentation...
object->stringUses the Common Lisp `string' function to convert `object' into a string, but
also converts objec...
parse-brief-slotReturns a verbose-style slot specification given a brief style, consisting of
a single symbol, th...
parse-date-and-timeConverts `spec' to a universal time. Spec can either be a number, in which
case this is a no-op,...
parse-date-and-time-stringParses strings expressing the day and/or time, such as 12/4/61 4:03:15.
The date part should look...
parse-interval-or-neverparse a string either describing a time interval or “never”.
for a time interval, the number of s...
partitionPartitions SEQ based on FN. Returns twa values: (a) the list of all elements
of SEQ for which...
pathname-name+typeReturns a new pathname consisting of only the name and type from a non-wild pathname.
percent-overlapReturns what percentage of elements in list-a are in list-b
(alternate definition: Returns what p...
physical-pathname-directory-separatorReturns a string representing the separator used to delimit directories in a physical pathname. F...
power-setReturns the power set of SET. This of course uses exponential time and space.
pretty-namestring-from-dateReturns a representation of the date (which defaults to the current date and time) preceeded by a...
print-brief-time-intervalReturns a string that describes the time elapsed by `secs' in the format [[H]Hh][M]Mm. For exampl...
print-brief-utPrints only those aspects of `ut' that differ from `ref-time.' Both times
should be in universal-...
print-datePrints the information in the form `Wednesday, June 7, 1989'
print-timePrints the information in the form `12:34 pm'
print-time-intervalPrints the time elapsed by `seconds.' For example, 125 prints ``2 minutes, 5
seconds'' If `print-...
print-universal-timePrints a universal time to stream using `print-time`. The output can be normal or brief.
print-utPrints `ut' in the format [M]M/[D]D [H]H:MM or [M]M/[D]D [H]H:MM:SS if
`print-seconds?' is true. ...
reduce-ifSee MINIMIZE. Primary difference: no non-standard keyword behavior.
remove-illegal-filename-charactersRemoves illegal characters from the file name NAME.
remove-leading-quoteRemoves the first quote from a list if one is there.
remove-membersRemoves all members of BAD from the list FROM.
rename-file-if-presentRenames a file to a unique name based on its file-write-date. See unique-file-name-from-date.
same-length-pAn optimized version of the naive (= (length list-1) (length list-2)).
set-equalReturns t if list1 and list2 are equal (as sets). If list1 and list2 are not
equal returns (as mu...
sort-using-list-orderSorts the list `x' using the other list `list' as a index.
string->symbolReturns the string as a bare symbol, replacing any whitespace with dashes. ~
This is the (near...
string-afterReturns the part of string before the first appearance of CHAR.
(If FROM-END is T, we count fr...
string-beforeReturns the part of string before the first appearance of CHAR.
(If FROM-END is T, we count fr...
string-contains-pReturns t if string contains the string-to-find. Case insensitive unless specified, and you can a...
symbol->stringReturns a symbol as a string, replacing any dashes with spaces. The inverse ~
of string->symbo...
time-dateReturns the date part of the given time.
time-day-of-weekReturns the day-of-week part of the given time.
time-daylight-savings-time-pReturns the daylight-savings-time-p part of the given time.
time-hourReturns the hour part of the given time.
time-minuteReturns the minute part of the given time.
time-monthReturns the month part of the given time.
time-secondReturns the second part of the given time.
time-stringTime returned as a string, in the format `12:34 pm'
time-string-with-no-colonsTime returned as a string, in the format `12-34 pm'
time-yearReturns the year part of the given time.
tokenize-stringSplits a string at delimiter and returns a list of the parts.
total-bytes-allocatedReturns the total number of bytes that this Lisp session has allocated.
tree-findFinds the atom ITEM within the arbitrarily-nested cons TREE.
tree-find-ifFinds first cons in TREE that satisfies TEST. This is guaranteed to be
tree-mapMaps FN over every atom in TREE.
tree-remove-ifRemoves all atoms from TREE that satisfy TEST.
tree-searchFind a state that satisfies goal-p. Start with states,
and search according to successors and ...
unique-file-name-from-dateReturns a namestring whose suffix is the `date` in the form YYMMMDDHHMMSS. The names prefix will ...
unused-variablesReturns which of the variables defined by LAMBDA-LIST do not appear in form.
This works simply...
whitespacepReturns true if char is an element of +whitespace-characters+ and nil otherwise.


argmaxReturns the item in items with the biggest (#'>) value of function. See best-item for a generaliz...
argminReturns the item in items with the smallest (#'<) value of function.
best-itemReturns the item in items with the 'best' value of function where
'best' is determined by test. Y...
is-interface-available-pReturns true is interface-name is available.
length-at-least-pReturns true if thing has no fewer than length elements in it.
length-at-most-pReturns true if thing has no more than length elements in it.
map-forms-in-fileReads file one form at a time (using read) and applies `function` to each one in turn.
map-lines-in-fileReads the file to which file-specifier resolves one line at a time (using read-line) and applies ...
nearly-samepCompares two things and returns true if they are the same
in the sense of being interchangable. T...
note-view-settings-changedDoes whatever makes sense to bring a view up-to-date
when its settings have changed (e.g., it's ...
quit-lisp*Quits Lisp
samepCompares two things and returns true if they are the same
in the sense of being interchangable. I...
shorten-filename-for-osReturns a file-name for file-specifier such that it is a valid name for the current underlying OS...
sizeReturns the number of items currently in the container.
uniquify-file-nameReturns a file name that is not currently in use. The strategy used if there is a conflict is to ...
update-dialog-uiA generic place to hang dialog updating code.


aandAnaphoric AND: Binds the symbol `it' to the value of the preceding `arg.'
acondAnaphoric COND: Binds the symbol `it' to the value of the preceding `clause.'
acond2Needs to be documented. See Paul Graham's book.
aifAnaphoric IF: Binds the symbol `it' to the value of the `test.'
aif2Needs to be documented. See Paul Graham's book.
alambdaAnaphoric LAMBDA: Binds the symbol `self' to the function, so that it can
call itself recursively...
aprog1Anaphoric 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...
atypecaseAtypecase is anaphoric typecase. It is just like typecase except that it binds the thing being te...
awhenAnaphoric WHEN: Binds the symbol `it' to the value of the `test.'
awhen2Needs to be documented. See Paul Graham's book.
awhileAnaphoric WHILE loop: Executes `expr' and `body' as long as `expr' is true.
Binds the symbol `it'...
awhile2Needs to be documented. See Paul Graham's book.
defclass*Like 'defclass-brief' but also provides the :MAKE-LOAD-FORM-P, :EXPORT-P,
defclass-briefA macro with simpler syntax than `defclass' that allows some
briefer ways of expressing things. ...
defclass-propertyCreate getter and setter methods for 'property' on symbol's property lists.
defconditionDefcondition is a handy shortcut for defining Common Lisp conditions. It
supports all of #[H][def...
deletefSame as (setf list (apply #'delete item list delete-args)).
deprecatedWrap a function definition with `deprecated' to indicate that it should
no longer be used. If the...
doplistIterate over each key/value pair in a plist. Key and Value are
bound to successive pairs in Plis...
eval-alwaysExpands into an eval-when with all the fixings. It's nothing but a shorthand.
fnA general-purpose function-builder. EXPR should be of the
form (OPERATOR . ARGUMENTS). Will ...
handler-bind*Special handler-bind which allow two special control contructs
inside of the condition handlers. ...
map-linesAn enpowered version of map-lines-in-file. This one is a macro
so that you can use (return) to st...
maxfSets `place' to max of its old value and `value'
minfSets `place' to min of its old value and `value'
multfSets `place' to (* delta place)
named-lambdaLike `lambda,' except that the lambda has a name, which can be very useful if
the function is exe...
nyiSignals an error saying that this function is not yet implemented. The args
are ignored, but by ...
once-onlyGenerate code that evaluates certain expressions only once.
This is used in macros, for computing...
push-endLike PUSH, except that the value goes on the end of the PLACE list.
If PLACE is (), then (value...
rebindingSimilar to ONCE-ONLY. Typical usage:

(defmacro square (x)
(rebinding (x)
removefSame 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...
spyA debugging tool: wrapping this around a form causes both the form and its
values to be printed o...
spyxA version of `spy' which expands the forms. See the documentation for `spy,'
particularly the :e...
toggle!Switches the values of each place to its opposite as in
(setf x (not x)).
with-slot-bindingsmakes this: (with-slot-bindings (((x x2) double-float) ((y y2) double-float)) location-2 body)
with-unique-namesBinds the symbols in VARS to gensyms. cf with-gensyms.
with-variablesUsing gensyms is necessary to prevent variables produced by macro expansions
from interfering wit...
\Similar to Haskell's \ operator. Typical usage:

(\\ x y = * x y)

is like