# Supported procedures, by module

### All procedures, by module

Invoke a module `foo` using `(module 'foo)` or `(module 'foo 'bar...)`. Additionally, there are some utility functions available in all modules, and these are described in core functions.

- authors: Author-string parsing and formatting
- aux: Functions for reading and handling .aux files
- bibtex: Parsing and manipulating .bib databases
- bst: The implementation of the .bst language
- json: A basic JSON parser
- klipspringer: Parser generator
- markdown: A basic Markdown parser
- subtex: Expanding simple TeX commands
- unicode: Basic Unicode support
- utils: Various utility functions
- xexpr: Writing and searching x-expressions

Within a REPL, `(help foo)` will give brief documentation on the function `foo`.

Some functions have optional arguments denoted by `[foo]`. Some functions have keyword arguments denoted by `:foo`.

There are some examples of use in the examples directory.

Note: while beastie still has a version number less than 1.0, everything here should be regarded as more or less provisional.

### All procedures, alphabetically

$alphaNum (klipspringer) | filter-entries (bibtex) | sprintf/true/default (bibtex)
$any (klipspringer) | flatten (utils) | string (klipspringer)
$digit (klipspringer) | fold (utils) | string->hash (utils)
$eof (klipspringer) | force (utils) | string->page-range (bst)
$eol (klipspringer) | format-name (authors) | string-index (utils)
$err (klipspringer) | get-parser-description (klipspringer) | string-index-right (utils)
$letter (klipspringer) | get-preamble (bibtex) | string-join (utils)
$newline (klipspringer) | getopt (utils) | string-prefix? (utils)
$space (klipspringer) | intersperse (utils) | string-split (utils)
$spaces (klipspringer) | json-write! (json) | string-suffix? (utils)
$spaces1 (klipspringer) | last (utils) | string-tokenize (utils)
$tab (klipspringer) | last-pair (utils) | string-trim (utils)
$wordbreak (klipspringer) | lexeme-source? (klipspringer) | string-trim-both (utils)
$wordbreak1 (klipspringer) | list->bstring (subtex) | string-trim-right (utils)
<!> (klipspringer) | list/true (bibtex) | string/ci (klipspringer)
<any> (klipspringer) | lookAhead (klipspringer) | stringify (utils)
<or> (klipspringer) | lowercase-string/bst (bst) | stringify/true (utils)
>> (klipspringer) | make-citation (bibtex) | subprocess (utils)
>>= (klipspringer) | make-set/eqv (utils) | symbol->ustring (unicode)
absolute-path? (utils) | make-unicode-reader/file (unicode) | symbol<? (utils)
any (utils) | make-unicode-reader/string (unicode) | take (utils)
append-preamble! (bibtex) | make-ustring (unicode) | take-right (utils)
author->list (authors) | many (klipspringer) | titlecase-string/bst (bst)
author-first (authors) | many/n (klipspringer) | truthy (bibtex)
author-junior (authors) | many1 (klipspringer) | try (klipspringer)
author-last (authors) | maybe-list (bibtex) | uchar-alphabetic? (utils)
author-von (authors) | maybe-list/qq (bibtex) | uchar-downcase (utils)
author? (authors) | maybe-sprintf (bibtex) | uchar-titlecase (utils)
between (klipspringer) | metadata/type (markdown) | uchar-upcase (utils)
bib-string-table (bibtex) | noneOf (klipspringer) | uchar-word-character? (utils)
bib-string-table-set! (bibtex) | oneOf (klipspringer) | unicode-decode/utf8 (unicode)
bstring->ustring (subtex) | parse-author-list (authors) | unicode-decode1/port/utf8 (unicode)
bstring? (subtex) | parse-aux-file (aux) | unicode-encode/utf8 (unicode)
build-path (utils) | parse-aux-string (aux) | unicode-encode1/utf8 (unicode)
call-with-aux-file (aux) | parse-bibtex-file (bibtex) | unicode-get-locale (unicode)
call-with-values (utils) | parse-bibtex-string (bibtex) | unicode-get-locales (unicode)
char (klipspringer) | parse-bst-file (bst) | unicode-reader-location (unicode)
char-alnum? (utils) | parse-bst-string (bst) | unicode-reader-read (unicode)
char-alpha? (utils) | parse-fmtstring (authors) | unicode-reader-source (unicode)
char-blank? (utils) | parse-json-file (json) | unicode-reader? (unicode)
char-cntrl? (utils) | parse-json-string (json) | unicode-set-locale! (unicode)
char-digit? (utils) | parse-markdown-file (markdown) | untexify-string-or-list (subtex)
char-graph? (utils) | parse-markdown-file/metadata (markdown) | uppercase-string/bst (bst)
char-lower? (utils) | parse-markdown-string (markdown) | user-char-command (subtex)
char-mark? (utils) | parse-markdown-string/metadata (markdown) | ustring->hash (unicode)
char-nbsp? (utils) | parse-result (klipspringer) | ustring->list (unicode)
char-print? (utils) | parse-result2 (klipspringer) | ustring->string (unicode)
char-punct? (utils) | parse-subtex (subtex) | ustring->symbol (unicode)
char-space? (utils) | parser-compose (klipspringer) | ustring->ustring (subtex)
char-symbol? (utils) | parser-input? (klipspringer) | ustring-append (unicode)
char-upper? (utils) | parser-one (klipspringer) | ustring-append! (unicode)
char-wordbreak? (utils) | parser-seq (klipspringer) | ustring-car (unicode)
char-xdigit? (utils) | path->complete-path (utils) | ustring-index (unicode)
circular-list (utils) | path-replace-extension (utils) | ustring-iterator/bstrings (subtex)
citation-entry (bibtex) | print-info (core) | ustring-join (unicode)
citation-html (bibtex) | print-trace (core) | ustring-length (unicode)
citation-key (bibtex) | print-warning (core) | ustring-lowercase (unicode)
citation-reference (bibtex) | printf (core) | ustring-lowercase! (unicode)
citation? (bibtex) | process-bibs/bst (bst) | ustring-ref (unicode)
current-directory (utils) | promise? (utils) | ustring-split (unicode)
define-values (utils) | receive (utils) | ustring-substring (unicode)
define/trace (utils) | regexp (core) | ustring-titlecase (unicode)
delay (utils) | regexp-match (core) | ustring-titlecase! (unicode)
drop (utils) | regexp-match-positions (core) | ustring-tokenize (unicode)
drop-right (utils) | regexp-match-positions/multi (core) | ustring-uppercase (unicode)
en-dashify (bst) | regexp-match/multi (core) | ustring-uppercase! (unicode)
entry-crossref (bibtex) | regexp-match? (core) | ustring<? (unicode)
entry-field (bibtex) | regexp? (core) | ustring=? (unicode)
entry-field/authorlist (bibtex) | relative-path? (utils) | ustring? (unicode)
entry-field/crossref (bibtex) | resolve-file (utils) | with-fields-from-entry (bibtex)
entry-fields (bibtex) | return (klipspringer) | write-bibtex/bib! (bibtex)
entry-fields/alist (bibtex) | satisfy (klipspringer) | write-bibtex/json! (bibtex)
entry-get-local-variable (bibtex) | satisfy/char (klipspringer) | write-bibtex/sexp! (bibtex)
entry-key (bibtex) | sentence (bibtex) | write/bstscm! (bst)
entry-missing-fields (bibtex) | sepBy (klipspringer) | xexpr-disassemble (xexpr)
entry-print! (bibtex) | sepBy1 (klipspringer) | xexpr-get-attribute (xexpr)
entry-set-local-variable! (bibtex) | set-parser-description! (klipspringer) | xexpr-path-search (xexpr)
entry-type (bibtex) | setenv (utils) | xexpr-search-path? (xexpr)
entry<? (bibtex) | showbytes/hex (utils) | xexpr-text (xexpr)
entry? (bibtex) | skipMany (klipspringer) | xexpr-write/md! (xexpr)
eprintf (core) | skipMany1 (klipspringer) | xexpr-write/python! (xexpr)
every (utils) | split-at (utils) | xexpr-write/sexp! (xexpr)
explode-path (utils) | split-path (utils) | xexpr-write/xhtml! (xexpr)
falsy (bibtex) | sprintf (core) | xexpr-write/xml! (xexpr)
filter (utils) | sprintf/true (bibtex) | zip (utils)

Norman
2026 August 02