The rutils Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The rutils Reference Manual

This is the rutils Reference Manual, version 3.11.0, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 04:32:37 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

RUTILS is a syntactic utilities package for Common Lisp

(that aims to radically simplify the Lisp programmer's life both in the REPL and in large system development)

RUTILS stands for RADICAL-UTILITIES :)

See the announcement.

Short history

Originally, RUTILS stood for REASONABLE-UTILITIES, but now I switched to calling them RADICAL-UTILITIES, because they make some uncommon and not generally acceptable choices in terms of style of CL development. Namely:

But, what's more important, they aim to radically simplify Lisp programming in the small (with a special accent on simplifying REPL-driven development).

See the original rationale for REASONABLE-UTILITIES.

Brief description

Included in core

Basic common control utilities, like

Included in contrib (RUTILSX)

Explicitly not supported

The following broad topics are not supported by design:

Technical notes

Dependencies

Exported features

The following symbols are added to *FEATURES*:

Organizational notes

(c) 2009-2014, Vsevolod Dyomkin vseloved@gmail.com

See LICENSE for usage permissions. See AUTHORS for credits.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

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


Previous: , Up: Systems   [Contents][Index]

2.1 rutils

Maintainer

Vsevolod Dyomkin <vseloved@gmail.com>

Author

Vsevolod Dyomkin <vseloved@gmail.com>

License

3-clause MIT licence

Description

A collection of basic utilities for syntactic
extension and basic data structure hadling,
developed over the years of CL history by efforts of different individuals, and gathered under the unbrella of a hierarchy of packages
which can be used on-demand.

Version

3.11.0

Dependency

named-readtables

Source

rutils.asd (file)

Component

core (module)


Next: , Previous: , Up: Top   [Contents][Index]

3 Modules

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


Previous: , Up: Modules   [Contents][Index]

3.1 rutils/core

Parent

rutils (system)

Location

core/

Components

Next: , Previous: , Up: Top   [Contents][Index]

4 Files

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


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.1 rutils.asd

Location

rutils.asd

Systems

rutils (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.2 rutils/core/packages.lisp

Parent

core (module)

Location

core/packages.lisp

Packages
Exported Definitions

+default-opts+ (special variable)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.3 rutils/core/readtable.lisp

Dependency

packages.lisp (file)

Parent

core (module)

Location

core/readtable.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.4 rutils/core/core.lisp

Dependency

readtable.lisp (file)

Parent

core (module)

Location

core/core.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.5 rutils/core/misc.lisp

Dependency

core.lisp (file)

Parent

core (module)

Location

core/misc.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.6 rutils/core/anaphora.lisp

Dependency

misc.lisp (file)

Parent

core (module)

Location

core/anaphora.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.7 rutils/core/list.lisp

Dependency

anaphora.lisp (file)

Parent

core (module)

Location

core/list.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.8 rutils/core/string.lisp

Dependency

list.lisp (file)

Parent

core (module)

Location

core/string.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.9 rutils/core/hash-table.lisp

Dependency

string.lisp (file)

Parent

core (module)

Location

core/hash-table.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.10 rutils/core/hash-set.lisp

Dependency

hash-table.lisp (file)

Parent

core (module)

Location

core/hash-set.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.11 rutils/core/tree.lisp

Dependency

hash-set.lisp (file)

Parent

core (module)

Location

core/tree.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.12 rutils/core/array.lisp

Dependency

tree.lisp (file)

Parent

core (module)

Location

core/array.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.13 rutils/core/sequence.lisp

Dependency

array.lisp (file)

Parent

core (module)

Location

core/sequence.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.14 rutils/core/pair.lisp

Dependency

sequence.lisp (file)

Parent

core (module)

Location

core/pair.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.15 rutils/core/abbr.lisp

Dependency

pair.lisp (file)

Parent

core (module)

Location

core/abbr.lisp

Exported Definitions

Previous: , Up: Lisp files   [Contents][Index]

4.1.16 rutils/core/rutils.lisp

Dependency

abbr.lisp (file)

Parent

core (module)

Location

core/rutils.lisp

Internal Definitions

*all-packages* (special variable)


Next: , Previous: , Up: Top   [Contents][Index]

5 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

5.1 rutil

The whole set of utilities + abbreviations in one package.

Source

packages.lisp (file)

Use List

Next: , Previous: , Up: Packages   [Contents][Index]

5.2 rutils

The whole set of utilities in one package.

Source

packages.lisp (file)

Use List
Used By List

rutil

Internal Definitions

*all-packages* (special variable)


Next: , Previous: , Up: Packages   [Contents][Index]

5.3 rutils.abbr

Abbreviations of some common utilities with long names.

Source

packages.lisp (file)

Use List
Used By List

rutil

Exported Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.4 rutils.tree

Tree utilities.

Source

packages.lisp (file)

Use List
Used By List

rutils

Exported Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.5 rutils.pair

Generic pair data structure.

Source

packages.lisp (file)

Use List
Used By List

rutils

Exported Definitions
Internal Definitions

copy-pair (function)


Next: , Previous: , Up: Packages   [Contents][Index]

5.6 rutils.sequence

Sequence utilities, including SPLIT-SEQUENCE.

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.7 rutils.array

Array utilities.

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.8 rutils.hash-set

Hash-set utilities.

Source

packages.lisp (file)

Use List
Exported Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.9 rutils.hash-table

Hash-table utilities.

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.10 rutils.string

String utilities.

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.11 rutils.list

List utilities.

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.12 rutils.anaphora

Anaphoric control constructs.

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.13 rutils.misc

Assorted small utilities.

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.14 rutils.core

Core utilities.

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions

Previous: , Up: Packages   [Contents][Index]

5.15 rutils.readtable

Literate syntax definitions.

Source

packages.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

6 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.1 Special variables

Special Variable: +default-opts+

Default optimization settings for RUTILS.

Package

rutils.readtable

Source

packages.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.2 Macros

Macro: 2nd FORM

(NTH-VALUE 1 FORM)

Package

rutils.misc

Source

misc.lisp (file)

Macro: aand &rest ARGS

Like AND. IT is bound to the value of the previous AND form.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: abbr SHORT LONG &optional LAMBDA-LIST

Abbreviate LONG macro or function name as SHORT.
If LAMBDA-LIST is present, also copy appropriate SETF-expander.

Package

rutils.core

Source

core.lisp (file)

Macro: acond &body BODY

Like COND. IT is bound to the passed COND test.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: adowhile TEST &body BODY

Like DOWHILE. IT is bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: aif TEST THEN &optional ELSE

Like IF. IT is bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: and-bind VAR &rest ARGS

Like AND. VAR will be bound to the value of the previous AND form

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: and-it &rest ARGS

Like AND. IT is bound to the value of the previous AND form.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: and-let VAR &rest ARGS

Like AND. VAR will be bound to the value of the previous AND form

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: appendf PLACE &rest LISTS

Modify-macro for APPEND. Appends LISTS to the place designated by the first argument.

Package

rutils.list

Source

list.lisp (file)

Macro: awhen TEST &body BODY

Like WHEN. IT is bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: coercef PLACE TYPE-SPEC

Modify-macro for COERCE.

Package

rutils.misc

Source

misc.lisp (file)

Macro: cond-bind VAR &body BODY

Like COND. VAR will be bound to the passed COND test.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: cond-it &body BODY

Like COND. IT is bound to the passed COND test.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: cond-let VAR &body BODY

Like COND. VAR will be bound to the passed COND test.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: cswitch (OBJECT &key TEST KEY) &body CLAUSES

Like SWITCH, but signals a continuable error if no key matches.

Package

rutils.misc

Source

misc.lisp (file)

Macro: dcase KEYFORM &body CLAUSES

DCASE is a combination of CASE and DESTRUCTURING-BIND.
KEYFORM must evaluate to a CONS.

Clauses are of the form:

((CASE-KEYS . DESTRUCTURING-LAMBDA-LIST) FORM*)

The clause whose CASE-KEYS matches CAR of KEY, as if by CASE,
is selected, and FORMs are then executed with CDR of KEY is destructured and bound by the DESTRUCTURING-LAMBDA-LIST.

Package

rutils.misc

Source

misc.lisp (file)

Macro: dccase KEYFORM &body CLAUSES

DCCASE is a combination of CCASE and DESTRUCTURING-BIND.
KEYFORM must evaluate to a CONS.

Clauses are of the form:

((CASE-KEYS . DESTRUCTURING-LAMBDA-LIST) FORM*)

The clause whose CASE-KEYS matches CAR of KEY, as if by CCASE,
is selected, and FORMs are then executed with CDR of KEY is destructured and bound by the DESTRUCTURING-LAMBDA-LIST.

Package

rutils.misc

Source

misc.lisp (file)

Macro: decase KEYFORM &body CLAUSES

DECASE is a combination of ECASE and DESTRUCTURING-BIND.
KEYFORM must evaluate to a CONS.

Clauses are of the form:

((CASE-KEYS . DESTRUCTURING-LAMBDA-LIST) FORM*)

The clause whose CASE-KEYS matches CAR of KEY, as if by ECASE,
is selected, and FORMs are then executed with CDR of KEY is destructured and bound by the DESTRUCTURING-LAMBDA-LIST.

Package

rutils.misc

Source

misc.lisp (file)

Macro: defpar VAR VAL &optional DOC

Define a parameter that is not normally changed by the program, but that may be changed without causing an error. Declare the variable special and sets its value to VAL, overwriting any previous value. The third argument is an optional documentation string for the parameter.

Package

rutils.abbr

Source

SYS:SRC;CODE;DEFBOOT.LISP (not found)

Macro: deletef PLACE ITEM &rest REMOVE-KEYWORDS

Modify-macro for DELETE. Sets place designated by the first argument to the result of calling DELETE with ITEM, place, and the REMOVE-KEYWORDS.

Package

rutils.sequence

Source

sequence.lisp (file)

Macro: doindex (INDEX-VAR ELT-VAR SEQUENCE &optional RESULT-FORM) &body BODY

Iterates over a sequence while keeping track of an index. A DO-style macro.

Example usage:

CL-USER> (doindex (i e ’(a b c))
(format T "~&~S ~S" i e))
1 a
2 b
3 c

Package

rutils.sequence

Source

sequence.lisp (file)

Macro: doleaves (NODE TREE &optional RESULT) &body BODY

Iterate over each leaf NODE of the TREE in depth-first order. Optionally return RESULT.

Package

rutils.tree

Source

tree.lisp (file)

Macro: dolines (LINE SRC &optional RESULT) &body BODY

Iterate over each LINE in SRC (a stream or path to a file) as in DOLIST.

Package

rutils.string

Source

string.lisp (file)

Macro: doplist (KEY VAL PLIST &optional REZ) &body BODY

Like DOLIST but iterate over 2 items of the PLIST at once, onsidered KEY and VAL. Asserts proper PLIST.

Package

rutils.list

Source

list.lisp (file)

Macro: dotable (K V TABLE &optional REZ) &body BODY

Like DOLIST but iterates over key-value pairs (K V) in anything, that can be viewed as a table (hash-table, alist, plist, object).
Autodeclares variables named _ as ignored.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Macro: dotree (SUBTREE TREE &optional RESULT) &body BODY

Iterate over each SUBTREE of the TREE in depth-first order. Optionally return RESULT.

Package

rutils.tree

Source

tree.lisp (file)

Macro: dovec (VAR VEC &optional RESULT-FORM) &body BODY

Iterates over a vector (like in DOLIST).

Package

rutils.array

Source

array.lisp (file)

Macro: dowhile-bind (VAR TEST) &body BODY

Like DOWHILE. VAR will be bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: dowhile-it TEST &body BODY

Like DOWHILE. IT is bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: dowhile-let (VAR TEST) &body BODY

Like DOWHILE. VAR will be bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: ds-bind LAMBDA-LIST EXPRESSION &body BODY

Bind the variables in LAMBDA-LIST to the corresponding values in the tree structure resulting from the evaluation of EXPRESSION.

Package

rutils.abbr

Source

SYS:SRC;CODE;DESTRUCTURING-BIND.LISP (not found)

Macro: eswitch (OBJECT &key TEST KEY) &body CLAUSES

Like SWITCH, but signals an error if no key matches.

Package

rutils.misc

Source

misc.lisp (file)

Macro: eval-always &body BODY

Wrap BODY in eval-when with all keys (compile, load and execute) mentioned.

Package

rutils.core

Source

core.lisp (file)

Macro: flet* &rest BODY

An abbreviation for LABELS.

Package

rutils.abbr

Source

abbr.lisp (file)

Macro: fn NAME LAMBDA-LIST &body BODY

Expands into a lambda-expression within whose BODY NAME denotes the corresponding function.

Package

rutils.abbr

Source

misc.lisp (file)

Macro: getset# KEY TABLE NEW-VALUE

Either get the value from TABLE by KEY or set a new calculated NEW-VALUE there and return it.
It’s similar to GETHASH called with 3 parameteres, but functions lazily.

Package

rutils.abbr

Source

hash-table.lisp (file)

Macro: getsethash KEY TABLE NEW-VALUE

Either get the value from TABLE by KEY or set a new calculated NEW-VALUE there and return it.
It’s similar to GETHASH called with 3 parameteres, but functions lazily.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Macro: if-bind (VAR TEST) THEN &optional ELSE

Like IF. VAR will be bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: if-it TEST THEN &optional ELSE

Like IF. IT is bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: if-let (VAR TEST) THEN &optional ELSE

Like IF. VAR will be bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: listcase LIST &body CASES

A typecase-like macro to destinguish between 3 possible kinds of LIST: simple lists, alists, and dlists.
Evaluates the appropriate key-form depending on the kind: ALIST, DLIST or simple list (T).

Package

rutils.list

Source

list.lisp (file)

Macro: multiple-value-prog2 FIRST-FORM SECOND-FORM &body FORMS

Evaluates FIRST-FORM, then SECOND-FORM, and then FORMS. Yields as its value all the value returned by SECOND-FORM.

Package

rutils.misc

Source

misc.lisp (file)

Macro: mv-bind VARS VALUE-FORM &body BODY
Package

rutils.abbr

Source

SYS:SRC;CODE;DEFBOOT.LISP (not found)

Macro: named-lambda NAME LAMBDA-LIST &body BODY

Expands into a lambda-expression within whose BODY NAME denotes the corresponding function.

Package

rutils.misc

Source

misc.lisp (file)

Macro: nconcf PLACE &rest LISTS

Modify-macro for NCONC. Concatenates LISTS to place designated by the first argument.

Package

rutils.list

Source

list.lisp (file)

Macro: nreversef PLACE

Modify-macro for NREVERSE. Reverses the list stored in the given place by destructively modifying it and saves back the result into the place.

Package

rutils.list

Source

list.lisp (file)

Macro: nunionf PLACE LIST &rest ARGS

Modify-macro for NUNION. Saves the union of LIST and the contents of the place designated by the first argument to the designated place. May modify either argument.

Package

rutils.list

Source

list.lisp (file)

Macro: once-only SPECS &body FORMS

Evaluate FORMS with names rebound to temporary variables, ensuring that each is evaluated only once.

Each SPEC must be either a NAME, or a (NAME INITFORM), with plain NAME using the named variable as initform.

Example:

CL-USER> (defmacro cons1 (x)
(once-only (x)
‘(cons ,x ,x)))
CL-USER> (let ((y 0))
(cons1 (incf y)))
(1 . 1)

Package

rutils.misc

Source

misc.lisp (file)

Macro: pcase PRED KEYFORM &rest CLAUSES

Like CASE, but uses given PRED instead of EQL to select appropriate CLAUSE.

Example usage:

CL-USER> (pcase ’< 1
(0 (print "Below zero"))
(2 (print "OK"))
(otherwise (error "Oops")))

Package

rutils.misc

Source

misc.lisp (file)

Macro: pccase PRED KEYFORM &rest CLAUSES

Like CCASE, but uses given PRED instead of EQL to select appropriate CLAUSE.

Example usage:

CL-USER> (pccase ’< 1
(0 (print "Below zero"))
(2 (print "OK")))

Package

rutils.misc

Source

misc.lisp (file)

Macro: pecase PRED KEYFORM &rest CLAUSES

Like ECASE, but uses given PRED instead of EQL to select appropriate CLAUSE.

Example usage:

CL-USER> (pecase ’< 1
(0 (print "Below zero"))
(2 (print "OK")))

Package

rutils.misc

Source

misc.lisp (file)

Macro: re-setf VAR &rest CLAUSES

SETFs VAR to the value of each clause subsequently. Re-uses the new value of VAR in subsequent clauses. Expects VAR to be a valid place for SETF.

Package

rutils.misc

Source

misc.lisp (file)

Macro: removef PLACE ITEM &rest REMOVE-KEYWORDS

Modify-macro for REMOVE. Sets place designated by the first argument to the result of calling REMOVE with ITEM, place, and the REMOVE-KEYWORDS.

Package

rutils.sequence

Source

sequence.lisp (file)

Macro: reversef PLACE

Modify-macro for REVERSE. Copies and reverses the list stored in the given place and saves back the result into the place.

Package

rutils.list

Source

list.lisp (file)

Macro: switch (OBJECT &key TEST KEY) &body CLAUSES

Evaluate first matching clause, returning its values, or evaluates and returns the values of DEFAULT if no keys match.

Package

rutils.misc

Source

misc.lisp (file)

Macro: unionf PLACE LIST &rest ARGS

Modify-macro for UNION. Saves the union of LIST and the contents of the place designated by the first argument to the designated place.

Package

rutils.list

Source

list.lisp (file)

Macro: void PLACE

Nullify PLACE.

Package

rutils.misc

Source

misc.lisp (file)

Macro: w/instr (VAR STRING &key INDEX START END) &body FORMS-DECLS
Package

rutils.abbr

Source

SYS:SRC;CODE;MACROS.LISP (not found)

Macro: w/outstr (VAR &optional STRING &key ELEMENT-TYPE) &body FORMS-DECLS
Package

rutils.abbr

Source

SYS:SRC;CODE;MACROS.LISP (not found)

Macro: w/uniqs (&rest NAMES) &body BODY

Provide gensyms for given NAMES.

Package

rutils.abbr

Source

core.lisp (file)

Macro: when-bind (VAR TEST) &body BODY

Like WHEN. VAR will be bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: when-it TEST &body BODY

Like WHEN. IT is bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: when-let (VAR TEST) &body BODY

Like WHEN. VAR will be bound to TEST.

Package

rutils.anaphora

Source

anaphora.lisp (file)

Macro: with-gensyms (&rest NAMES) &body BODY

Provide gensyms for given NAMES.

Package

rutils.core

Source

core.lisp (file)

Macro: with-keys (&rest KV-PAIRS) HT &body BODY

Like WITH-ACCESSORS but for pairs in hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Macro: with-out-file (VAR PATH) &body BODY
Package

rutils.string

Source

string.lisp (file)

Macro: with-output-to-list (OUT) &body BODY

A simple list analog of WITH-OUTPUT-TO-STRING, which supports the general pattern of using list as an accumulator. OUT is bound to a fresh list, that will be returned nreversed. BODY is wraped in implicit block NIL.

Package

rutils.list

Source

list.lisp (file)

Macro: with-pair (LT RT) PAIR &body BODY

Bind LT and RT to PAIR’s slots and execute BODY inside.

Package

rutils.pair

Source

pair.lisp (file)

Macro: with-unique-names (&rest NAMES) &body BODY

Provide gensyms for given NAMES.

Package

rutils.core

Source

core.lisp (file)

Macro: xor &rest ARGS

Evaluates the ARGS one at a time. If more than one is T, evaluation stops and NIL is returned. If exactly one arg is T, that value is returned.

Package

rutils.misc

Source

misc.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.3 Compiler macros

Compiler Macro: equal-lengths LENGTH &rest SEQUENCES
Package

rutils.sequence

Source

sequence.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.4 Functions

Function: #/-reader STREAM CHAR ARG

Literal syntax for raw strings (which don’t need escapin of control chars).

Example:

CL-USER> #/This is a "test" string/#
"This is a \"test\" string"
;; here " are actually unescaped, but you can’t write it in a docstring :)

Package

rutils.readtable

Source

readtable.lisp (file)

Function: #`-reader STREAM CHAR ARG

Literal syntax for zero/one/two argument lambdas.
Use % as the function’s argument, %% as the second.

Examples:

- #‘(+ 2 %) => (lambda (&optional x y) (+ 2 x))
- #‘((print %) (1+ %)) => (lambda (&optional x) (print x) (1+ x)) - #‘(+ 1 2) => (lambda (&optional x y) (+ 1 2))
- #‘(+ % %%) => (lambda (&optional x y) (+ x y))

Package

rutils.readtable

Source

readtable.lisp (file)

Function: #h-reader STREAM CHAR ARG

Literal syntax for hash-tables.

Examples:

CL-USER> #h(:a 1 :b 2)
#<HASH-TABLE :TEST EQL :COUNT 2>
;; holding 2 key/value pairs: ((:a . 1) (:b . 2))

CL-USER> #h(equalp "a" 1 "b" 2)
#<HASH-TABLE :TEST EQUALP :COUNT 2>
;; holding 2 key/value pairs: (("a" . 1) ...)

Package

rutils.readtable

Source

readtable.lisp (file)

Function: #v-reader STREAM CHAR ARG

Literal syntax for vectors.
Unlike #() evaluates its contents before vector creation

Examples:

CL-USER> #v(1 2 3)
#(1 2 3)

CL-USER> #v((+ 1 2))
#(3)

Package

rutils.readtable

Source

readtable.lisp (file)

Function: #{-reader STREAM CHAR ARG

Literal syntax for fixed-size hash-tables.

Examples:

CL-USER> #{:a 1 :b 2}
#<HASH-TABLE :TEST EQL :COUNT 2>
;; holding 2 key/value pairs: ((:a . 1) (:b . 2))

CL-USER> #{equalp "a" 1 "b" 2}
#<HASH-TABLE :TEST EQUALP :COUNT 2>
;; holding 2 key/value pairs: (("a" . 1) ...)

Package

rutils.readtable

Source

readtable.lisp (file)

Function: add# ITEM SET

Add ITEM to hash-set SET.

Package

rutils.hash-set

Source

hash-set.lisp (file)

Function: alist->ht ALIST &rest HASH-TABLE-INITARGS

Returns a hash-table containing the keys and values, alternating in ALIST. Hash table is initialized using the HASH-TABLE-INITARGS.

Package

rutils.abbr

Source

hash-table.lisp (file)

Function: alist-to-plist ALIST

Make a plist from an alist ALIST.

Package

rutils.list

Source

list.lisp (file)

Function: alistp LIST

Test wheather LIST is a properly formed alist.

Package

rutils.list

Source

list.lisp (file)

Function: and2 X Y

AND for 2 arguments as a function.

Package

rutils.misc

Source

misc.lisp (file)

Function: assoc1 ITEM ALIST &key DEFAULT KEY TEST TEST-NOT

Return a value in ALIST, whose key is eql to ITEM. Also as 2nd value return, whether ITEM was found. If there is no such entry, returns DEFAULT. The usual KEY, TEST and TEST-NOT arguments apply.

Package

rutils.list

Source

list.lisp (file)

Function: atomize LIST-OR-VAL
Package

rutils.list

Source

list.lisp (file)

Function: blankp STRING

Test whether a STRING is blank (empty).

Package

rutils.string

Source

string.lisp (file)

Function: butlast2 LIST &optional N

Split LIST in 2 parts and return them as multiple values:
head and tail. If (= N 1), which is the most common case, the tail will be a single element, otherwise – a list as well.

Package

rutils.list

Source

list.lisp (file)

Function: call FUNCTION &rest ARGUMENTS

Call FUNCTION with the given ARGUMENTS.

Package

rutils.abbr

Source

SYS:SRC;CODE;EVAL.LISP (not found)

Function: concat &rest LISTS

CONCATENATE all the LISTS into a single list.

Package

rutils.list

Source

list.lisp (file)

Function: copy-array ARR

Create a fresh copy of the array ARR.

Package

rutils.array

Source

array.lisp (file)

Function: copy-hash-table HT &key KEY TEST SIZE REHASH-SIZE REHASH-THRESHOLD

Returns a copy of hash table HT, with the same keys and values. The copy has the same properties as the original, unless overridden by the keyword arguments.

Before each of the original values is set into the new hash-table, KEY is invoked on the value. As KEY defaults to IDENTITY
a shallow copy is returned by default.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: dcons KEY VAL DLIST

Add KEY-VAL pair to the front of DLIST.

Package

rutils.list

Source

list.lisp (file)

Function: delete-from-plist PLIST &rest KEYS

Just like REMOVE-FROM-PLIST, but this version may destructively modify the provided PLIST.

Package

rutils.list

Source

list.lisp (file)

Function: diff# SET1 SET2

Set difference between hash-sets SET1 & SET2.

Package

rutils.hash-set

Source

hash-set.lisp (file)

Function: dlistp LIST

Test wheather LIST is a properly formed dlist, i.e. a list-structure of the form: ((keys) vals).

Package

rutils.list

Source

list.lisp (file)

Function: dyadic LIST

Test wheather LIST contains exactly 2 elements.

Package

rutils.list

Source

list.lisp (file)

Function: emptyp SEQUENCE

Returns true if SEQUENCE is an empty sequence. Signals an error if SEQUENCE is not a sequence.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: emptyp# SET

Test wether a hash-set is empty

Package

rutils.hash-set

Source

hash-set.lisp (file)

Function: ends-with SUFFIX STRING &key TEST -END

Test, whether STRING ends with SUFFIX. Accepts TEST. If -END is provided matches from this offset from end.

Package

rutils.string

Source

string.lisp (file)

Function: ensure-keyword OBJ &key FORMAT

Make a keyword from OBJ according to FORMAT.

Package

rutils.core

Source

core.lisp (file)

Function: ensure-list OBJ

Wrap OBJ in a list, if it’s not a list.

Package

rutils.list

Source

list.lisp (file)

Function: ensure-symbol OBJ &key FORMAT PACKAGE

Make a symbol in either PACKAGE or *PACKAGE* from OBJ according to FORMAT.

Package

rutils.core

Source

core.lisp (file)

Function: equal-lengths &rest SEQUENCES

Takes any number of sequences or integers in any order. Returns true iff the length of all the sequences and the integers are equal.
Hint: there’s a compiler macro that expands into more efficient code if the first argument is a literal integer.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: flat-map FUNCTION &rest LISTS

Apply FUNCTION to respective elements of each LIST, appending all the result lists to a single list. FUNCTION must return a list.

Package

rutils.abbr

Source

list.lisp (file)

Function: flatten LIST &optional LEVEL

Flatten possibly nested LIST a given number of LEVELs (or to the end).

Package

rutils.list

Source

list.lisp (file)

Function: fmt FORMAT-STRING &rest ARGS

(FORMAT NIL FORMAT-STRING ARGS)

Package

rutils.string

Source

string.lisp (file)

Function: get# KEY HASH-TABLE &optional DEFAULT

Finds the entry in HASH-TABLE whose key is KEY and returns the associated value and T as multiple values, or returns DEFAULT and NIL if there is no such entry. Entries can be added using SETF.

Package

rutils.abbr

Source

SYS:SRC;CODE;TARGET-HASH-TABLE.LISP (not found)

Setf Expander

(setf get#) (setf expander)

Setf Expander: (setf get#) KEY HASHTABLE &optional DEFAULT
Package

rutils.abbr

Source

abbr.lisp (file)

Reader

get# (function)

Function: group N SEQ

Split SEQ into a list of sequences of the same type of length N (the last sequence may be shorter).

Package

rutils.sequence

Source

sequence.lisp (file)

Function: hash-set &optional TEST &rest ITEMS

Create a hash-set with a given TEST and initial contents ITEMS.

Package

rutils.hash-set

Source

hash-set.lisp (file)

Function: hash-table-from-alist ALIST &rest HASH-TABLE-INITARGS

Returns a hash-table containing the keys and values, alternating in ALIST. Hash table is initialized using the HASH-TABLE-INITARGS.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: hash-table-from-plist PLIST &rest HASH-TABLE-INITARGS

Returns a hash-table containing the keys and values, alternating in PLIST. Hash table is initialized using the HASH-TABLE-INITARGS.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: hash-table-keys HT

Return a list of keys of hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: hash-table-to-alist HT

Returns an alist containing the keys and values of hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: hash-table-to-plist HT

Returns a list containing the keys and values of hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: hash-table-vals HT

Return a list of values of hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: ht->alist HT

Returns an alist containing the keys and values of hash-table HT.

Package

rutils.abbr

Source

hash-table.lisp (file)

Function: ht->pairs HT

Dump hash-table HT to list of pairs.

Package

rutils.pair

Source

pair.lisp (file)

Function: ht->plist HT

Returns a list containing the keys and values of hash-table HT.

Package

rutils.abbr

Source

hash-table.lisp (file)

Function: ht-count HASH-TABLE

Return the number of entries in the given HASH-TABLE.

Package

rutils.abbr

Source

SYS:SRC;CODE;TARGET-HASH-TABLE.LISP (not found)

Function: ht-keys HT

Return a list of keys of hash-table HT.

Package

rutils.abbr

Source

hash-table.lisp (file)

Function: ht-vals HT

Return a list of values of hash-table HT.

Package

rutils.abbr

Source

hash-table.lisp (file)

Function: in# KEY HASH-TABLE

Check if KEY is present in HASH-TABLE.

Package

rutils.abbr

Source

abbr.lisp (file)

Function: inter# SET1 SET2

Set intersection between hash-sets SET1 & SET2.

Package

rutils.hash-set

Source

hash-set.lisp (file)

Function: interleave LIST &rest LISTS

Return a list whose elements are taken from LIST and each of LISTS like this: 1st of list, 1st of 1st of lists,..., 1st of last of lists, 2nd of list,...

Package

rutils.list

Source

list.lisp (file)

Function: interpose SEPARATOR LIST

Returns a sequence of the elements of SEQUENCE separated by SEPARATOR.

Package

rutils.list

Source

list.lisp (file)

Function: just THING

This function simply returns what was passed to it.

Package

rutils.abbr

Source

SYS:SRC;CODE;FUNUTILS.LISP (not found)

Function: keep ITEM SEQUENCE &rest ARGS &key FROM-END TEST TEST-NOT START END COUNT KEY

The opposite of REMOVE.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: keep-if PREDICATE SEQUENCE &rest ARGS &key FROM-END START END COUNT KEY

Return a copy of sequence with elements not satisfying PREDICATE removed.

Package

rutils.abbr

Source

SYS:SRC;CODE;SEQ.LISP (not found)

Function: keep-if-not PREDICATE SEQUENCE &rest ARGS &key FROM-END START END COUNT KEY

Return a copy of sequence with elements satisfying PREDICATE removed.

Package

rutils.abbr

Source

SYS:SRC;CODE;SEQ.LISP (not found)

Function: last-char STRING

Return the last character of STRING if it’s not empty, otherwise - nil.

Package

rutils.string

Source

string.lisp (file)

Function: last-elt SEQUENCE

Returns the last element of SEQUENCE.
Signals a type-error if SEQUENCE is not a proper sequence, or is an empty sequence.

Package

rutils.sequence

Source

sequence.lisp (file)

Writer

(setf last-elt) (function)

Function: (setf last-elt) OBJECT SEQUENCE

Sets the last element of SEQUENCE.
Signals a type-error if SEQUENCE is not a proper sequence, is an empty sequence.

Package

rutils.sequence

Source

sequence.lisp (file)

Reader

last-elt (function)

Function: last1 LIST &optional N

Get the N-th element of LIST from end, starting from the last one (which is number 1).

Package

rutils.list

Source

list.lisp (file)

Writer

(setf last1) (function)

Function: (setf last1) OBJECT LIST &optional N
Package

rutils.list

Source

list.lisp (file)

Reader

last1 (function)

Function: length= SEQUENCE LENGTH

Return true if SEQUENCE’s length equals LENGTH. Returns FALSE for circular lists.
Signals an error if SEQUENCE is not a sequence.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: less X Y

Like <, but works for NIL values of X and Y.
Obviously, NIL is LESS, than anything, including itself.

Package

rutils.misc

Source

misc.lisp (file)

Function: lt STRUCTURE
Function: (setf lt) VALUE STRUCTURE
Package

rutils.pair

Source

pair.lisp (file)

Function: m1 FORM &optional ENV

If form is a macro (or symbol macro), expand it once. Return two values, the expanded form and a T-or-NIL flag indicating whether the form was, in fact, a macro. ENV is the lexical environment to expand in, which defaults to the null environment.

Package

rutils.abbr

Source

SYS:SRC;CODE;MACROEXPAND.LISP (not found)

Function: make-gensym-list LENGTH &optional X

Return a list of LENGTH gensyms, using the second (optional, defaulting to ’G’) argument.

Package

rutils.core

Source

core.lisp (file)

Function: make-pair &key (LT LT) (RT RT)
Package

rutils.pair

Source

pair.lisp (file)

Function: map* FN SEQ &rest SEQS

DWIM version of map that uses the type of first sequence (SEQ) for result.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: mapcanindex FN LIST

Mapcan FN with 2 lists:
- numeric inidices for LIST, starting from 0 - LIST itself

Package

rutils.list

Source

list.lisp (file)

Function: mapcat FUNCTION &rest LISTS

Apply FUNCTION to respective elements of each LIST, appending all the result lists to a single list. FUNCTION must return a list.

Package

rutils.abbr

Source

list.lisp (file)

Function: mapindex FN LIST

Mapcar FN with 2 lists:
- numeric inidices for LIST, starting from 0 - LIST itself

Package

rutils.list

Source

list.lisp (file)

Function: mapleaves FN TREE

Map a one-argument function FN over each leaf node of the TREE
in depth-first order, returning a new tree with the same structure.

Package

rutils.tree

Source

tree.lisp (file)

Function: mappend FUNCTION &rest LISTS

Apply FUNCTION to respective elements of each LIST, appending all the result lists to a single list. FUNCTION must return a list.

Package

rutils.list

Source

list.lisp (file)

Function: maptimes TIMES FN

Map FN with number range from 0 to TIMES (exclusive).

Package

rutils.list

Source

list.lisp (file)

Function: maptree FN TREE

Map a one-argument function FN over subtree of the TREE
in depth-first order, returning a new tree with the same structure.

Package

rutils.tree

Source

tree.lisp (file)

Function: merge-hash-tables HT &rest HTS

From 1 or more HTS create a single one with TEST of HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: merge-hts HT &rest HTS

From 1 or more HTS create a single one with TEST of HT.

Package

rutils.abbr

Source

hash-table.lisp (file)

Function: mkeyw OBJ &key FORMAT

Make a keyword from OBJ according to FORMAT.

Package

rutils.abbr

Source

core.lisp (file)

Function: mklist OBJ

Wrap OBJ in a list, if it’s not a list.

Package

rutils.abbr

Source

list.lisp (file)

Function: mksym OBJ &key FORMAT PACKAGE

Make a symbol in either PACKAGE or *PACKAGE* from OBJ according to FORMAT.

Package

rutils.abbr

Source

core.lisp (file)

Function: more X Y

Like >, but works for NIL values of X and Y.
Obviously, NIL is not MORE, than anything, including itself.

Package

rutils.misc

Source

misc.lisp (file)

Function: not-less X Y

Like >=, but works for NIL values of X and Y.
Obviously, NIL is not NOT-LESS, than anything, including itself.

Package

rutils.misc

Source

misc.lisp (file)

Function: not-more X Y

Like <=, but works for NIL values of X and Y.
Obviously, NIL is NOT-MORE, than anything, including itself.

Package

rutils.misc

Source

misc.lisp (file)

Function: nshuffle SEQUENCE &key START END

Shuffle SEQUENCE (in bounds of START and END) in-place.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: or2 X Y

OR for 2 arguments as a function.

Package

rutils.misc

Source

misc.lisp (file)

Function: p# HT &optional STREAM

Pretty print hash-table HT to STREAM.

Package

rutils.abbr

Source

hash-table.lisp (file)

Function: package-external-symbols PACKAGE

List all symbols in a PACKAGE.

Package

rutils.core

Source

core.lisp (file)

Function: package-internal-symbols PACKAGE

List all symbols in a PACKAGE that are not imported.

Package

rutils.core

Source

core.lisp (file)

Function: package-symbols PACKAGE

List all symbols in a PACKAGE.

Package

rutils.core

Source

core.lisp (file)

Function: pair X Y

A shortcut to make a pair of X and Y.

Package

rutils.pair

Source

pair.lisp (file)

Function: pairs->ht PAIRS &rest HASH-TABLE-INITARGS

Create hash-table from the list of PAIRS.
Hash table is initialized using the HASH-TABLE-INITARGS.

Package

rutils.pair

Source

pair.lisp (file)

Function: partition-with KEY-SEQUENCE SEQUENCE &key ORDERING TEST KEY RESULT-TYPE KEYS-SORTED

Partition a SEQUENCE into a sequence of sequences, each one related
by TEST to one key in KEY-SEQUENCE (which may be already sorted: KEYS-SORTED).

Returns a sorted KEY-SEQUENCE as a 2nd value.

Return values are coerced to RESULT-TYPE, that should be a sequence subtype (default is LIST).

ORDERING is used for sorting both SEQUENCE and KEY-SEQUENCE.
Accepts KEY.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: permutations LIST

Generate all permutations of LIST. Complexity: O(n!)

Package

rutils.list

Source

list.lisp (file)

Function: plist->ht PLIST &rest HASH-TABLE-INITARGS

Returns a hash-table containing the keys and values, alternating in PLIST. Hash table is initialized using the HASH-TABLE-INITARGS.

Package

rutils.abbr

Source

hash-table.lisp (file)

Function: plist-to-alist PLIST

Make an alist from a plist PLIST.

Package

rutils.list

Source

list.lisp (file)

Function: plistp LIST

Test wheather LIST is a properly formed plist.

Package

rutils.list

Source

list.lisp (file)

Function: print-hash-table HT &optional STREAM

Pretty print hash-table HT to STREAM.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: print-ht HT &optional STREAM

Pretty print hash-table HT to STREAM.

Package

rutils.abbr

Source

hash-table.lisp (file)

Function: product FN SEQ &rest SEQS

Product of the results of mapping FN to SEQ and other SEQS.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: pushx NEW-ELEMENT VECTOR &optional MIN-EXTENSION
Package

rutils.abbr

Source

SYS:SRC;CODE;ARRAY.LISP (not found)

Function: range START LIMIT &key STEP

Return a list of numbers, starting from START up to LIMIT incremented by STEP (default 1).

Package

rutils.list

Source

list.lisp (file)

Function: re-export-symbols FROM-PACKAGE TO-PACKAGE

Make the exported symbols in FROM-PACKAGE be also exported from TO-PACKAGE.

Package

rutils.core

Source

core.lisp (file)

Function: read-file FILENAME

Read a whole file by FILENAME into a string.

Package

rutils.string

Source

string.lisp (file)

Function: rem# KEY HASH-TABLE

Remove the entry in HASH-TABLE associated with KEY. Return T if there was such an entry, or NIL if not.

Package

rutils.abbr

Source

SYS:SRC;CODE;TARGET-HASH-TABLE.LISP (not found)

Function: remove-from-plist PLIST &rest KEYS

Returns a propery-list with same keys and values as PLIST,
except that keys in the list designated by KEYS and values, corresponding to them are removed. The returned property-list may share structure with the PLIST, but PLIST is not destructively modified. Keys are compared using EQ.

Package

rutils.list

Source

list.lisp (file)

Function: remove-idx IDX LIST

Return a copy of the list without IDX-th element.

Package

rutils.list

Source

list.lisp (file)

Function: rotate SEQUENCE &optional N

Returns a sequence of the same type as SEQUENCE, with the elements of SEQUENCE rotated by N: N elements are moved from the end of the sequence to the front if N is positive, and -N elements moved from the front to the end if N is negative. SEQUENCE must be a proper sequence. N must be an integer, defaulting to 1.

If absolute value of N is greater then the length of the sequence, the results are identical to calling ROTATE with

(* (signum n) (mod n (length sequence))).

Note: the original sequence may be destructively altered,
and result sequence may share structure with it.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: rt STRUCTURE
Function: (setf rt) VALUE STRUCTURE
Package

rutils.pair

Source

pair.lisp (file)

Function: safe-sort SEQUENCE PREDICATE &rest ARGS &key KEY

The destructuve nature of SORT triggers many obscure bugs. This function is a thin wrapper over SORT that enqures that an input SEQUENCE is copied.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: set# KEY HT VAL

Set VAL at KEY in hash-table HT.

Package

rutils.abbr

Source

hash-table.lisp (file)

Function: set-equal LIST1 LIST2 &key TEST KEY

Return true if every element of LIST1 matches some element of LIST2 and
every element of LIST2 matches some element of LIST1. Otherwise returns false.

Package

rutils.list

Source

list.lisp (file)

Function: sethash KEY HT VAL

Set VAL at KEY in hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: shuffle SEQUENCE &key START END

Return a shuffled copy of SEQUENCE (in bounds of START and END).

Package

rutils.sequence

Source

sequence.lisp (file)

Function: single LIST

Test wheather LIST contains exactly 1 element.

Package

rutils.list

Source

list.lisp (file)

Function: slice VEC BEG &optional END

Return an array-slice into VEC from BEG to END.

Package

rutils.array

Source

array.lisp (file)

Function: slurp FILENAME

Read a whole file by FILENAME into a string.

Package

rutils.string

Source

string.lisp (file)

Function: split DELIMITER SEQ &key COUNT REMOVE-EMPTY-SUBSEQS FROM-END START END KEY TEST TEST-NOT

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 SUBSTITUTE. In particular, the behavior 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 SUBSEQ into the sequence indicating where processing stopped.

Package

rutils.abbr

Source

sequence.lisp (file)

Function: split-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 SUBSTITUTE. In particular, the behavior 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 SUBSEQ into the sequence indicating where processing stopped.

Package

rutils.abbr

Source

sequence.lisp (file)

Function: split-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 (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 SUBSTITUTE.
In particular, the behavior 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 SUBSEQ into the sequence indicating where processing stopped.

Package

rutils.abbr

Source

sequence.lisp (file)

Function: split-sequence DELIMITER SEQ &key COUNT REMOVE-EMPTY-SUBSEQS FROM-END START END KEY TEST TEST-NOT

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 SUBSTITUTE. In particular, the behavior 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 SUBSEQ into the sequence indicating where processing stopped.

Package

rutils.sequence

Source

sequence.lisp (file)

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 SUBSTITUTE. In particular, the behavior 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 SUBSEQ into the sequence indicating where processing stopped.

Package

rutils.sequence

Source

sequence.lisp (file)

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 (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 SUBSTITUTE.
In particular, the behavior 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 SUBSEQ into the sequence indicating where processing stopped.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: split-string STRING

Split STRING by WHITE-CHAR-P.

Package

rutils.string

Source

string.lisp (file)

Function: starts-with PREFIX STRING &key TEST START

Test, whether STRING starts with PREFIX.
If START is provided matches from this offset from the start.

Package

rutils.string

Source

string.lisp (file)

Function: strcat &rest STRING-DESIGNATORS

CONCATENATE all the strings in STRING-DESIGNATORS.

Package

rutils.string

Source

string.lisp (file)

Function: strjoin DELIM STRINGS

Join STRINGS with DELIM.

Package

rutils.string

Source

string.lisp (file)

Function: sub SEQUENCE START &optional END

Return a copy of a subsequence of SEQUENCE starting with element number START and continuing to the end of SEQUENCE or the optional END.

Package

rutils.abbr

Source

SYS:SRC;CODE;SEQ.LISP (not found)

Function: substr STRING START &optional END

Efficient substring of STRING from START to END (optional), where both can be negative, which means counting from the end.

Package

rutils.string

Source

string.lisp (file)

Function: sum FN SEQ &rest SEQS

Sum the results of mapping FN to SEQ and other SEQS.

Package

rutils.sequence

Source

sequence.lisp (file)

Function: take N LIST &optional STEP

Return a list with N elements, which are taken from LIST by this formula: INDEX of ELEMENT = I * STEP for I from 0

Package

rutils.list

Source

list.lisp (file)

Function: take# KEY HT

Get and remove VAL at KEY in hash-table HT.

Package

rutils.abbr

Source

hash-table.lisp (file)

Function: takehash KEY HT

Get and remove VAL at KEY in hash-table HT.

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: toggle-print-hash-table &optional ON

Toggles printing hash-tables with PRINT-HASH-TABLE or with default method. If ON is set explicitly will turn on literal printing (T) or default (NIL).

Package

rutils.hash-table

Source

hash-table.lisp (file)

Function: tree-depth TREE

Returns the length of the largest of nodes from the root tree.

Package

rutils.tree

Source

tree.lisp (file)

Function: tree-size TREE

Returns the number of nodes (internal & external) in the indicated TREE.

Package

rutils.tree

Source

tree.lisp (file)

Function: true VAL

The complement to NULL.
Unlike IDENTITY will return T if VAL is not NIL.

Package

rutils.misc

Source

misc.lisp (file)

Function: tryadic LIST

Test wheather LIST contains exactly 3 elements.

Package

rutils.list

Source

list.lisp (file)

Function: union# SET1 SET2

Set union between hash-sets SET1 & SET2.

Package

rutils.hash-set

Source

hash-set.lisp (file)

Function: vec &rest ARGS

Make a new adjustable vector with ARGS as contents.

Package

rutils.array

Source

array.lisp (file)

Function: white-char-p CHAR

Is CHAR a whitespace character (newline chars are also considered white).

Package

rutils.string

Source

string.lisp (file)

Function: xor# SET1 SET2

Set xor between hash-sets SET1 & SET2.

Package

rutils.hash-set

Source

hash-set.lisp (file)

Function: xor2 X Y

XOR for 2 arguments as a function.

Package

rutils.misc

Source

misc.lisp (file)

Function: zip &rest LISTS

Return a single list whose elements are lists of the consecutive elements of LISTS, until one of the LISTS ends.

Package

rutils.list

Source

list.lisp (file)

Function: zip* &rest LISTS

Return a single list whose elements are lists of the consecutive elements of LISTS, until all of the LISTS end.

Package

rutils.list

Source

list.lisp (file)

Function: zip*-with FN &rest LISTS

Return a single list whose elements are the results
of applying FN to groups of the consecutive elements of LISTS, until all of the LISTS end.

Package

rutils.list

Source

list.lisp (file)

Function: zip-with FN &rest LISTS

Return a single list whose elements are the results
of applying FN to groups of the consecutive elements of LISTS, until one of the LISTS ends.

Package

rutils.list

Source

list.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.5 Generic functions

Generic Function: make CLASS &rest INITARGS &key &allow-other-keys
Package

rutils.abbr

Source

SYS:SRC;PCL;GENERIC-FUNCTIONS.LISP.NEWEST (not found)

Methods
Method: make (CLASS symbol) &rest INITARGS
Source

SYS:SRC;PCL;INIT.LISP.NEWEST (not found)

Method: make (CLASS class) &rest INITARGS
Source

SYS:SRC;PCL;INIT.LISP.NEWEST (not found)

Generic Function: pairs TABLE

Return a list of all key-value PAIRS in a TABLE. Order is unspecified.

Package

rutils.pair

Source

pair.lisp (file)

Methods
Method: pairs (TABLE hash-table)
Method: pairs (LIST list)

Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.6 Conditions

Condition: case-failure ()
Package

rutils.misc

Source

misc.lisp (file)

Direct superclasses
  • type-error (condition)
  • case-failure (condition)
Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

case-failure-name (generic function)

Slot: possibilities
Initargs

:possibilities

Readers

case-failure-possibilities (generic function)

Condition: rutils-style-warning ()
Package

rutils.core

Source

core.lisp (file)

Direct superclasses
  • style-warning (condition)
  • simple-condition (condition)

Previous: , Up: Exported definitions   [Contents][Index]

6.1.7 Types

Type: array-index &optional LENGTH

Type designator for an index into array of LENGTH: an integer between 0 (inclusive) and LENGTH (exclusive).
LENGTH defaults to ARRAY-DIMENSION-LIMIT.

Package

rutils.array

Source

array.lisp (file)

Type: array-length &optional LENGTH

Type designator for a dimension of an array of LENGTH: an integer between 0 (inclusive) and LENGTH (inclusive).
LENGTH defaults to ARRAY-DIMENSION-LIMIT.

Package

rutils.array

Source

array.lisp (file)

Type: string-designator ()

A string designator type. It is either a string, a symbol, or a character.

Package

rutils.string

Source

string.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

6.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.1 Special variables

Special Variable: *all-packages*
Package

rutils

Source

rutils.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.2 Macros

Macro: trivial-positional-lambda BODY
Package

rutils.readtable

Source

readtable.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.3 Functions

Function: ^-reader STREAM CHAR

Literal syntax for zero/one/two argument lambdas.
Use % as the function’s argument, %% as the second.

Examples:

- ^(+ 2 %) => (lambda (&optional x y) (+ 2 x))
- ^((print %) (1+ %)) => (lambda (&optional x) (print x) (1+ x)) - ^(+ 1 2) => (lambda (&optional x y) (+ 1 2))
- ^(+ % %%) => (lambda (&optional x y) (+ x y))

Package

rutils.readtable

Source

readtable.lisp (file)

Function: copy-pair SEQUENCE

Return a copy of SEQUENCE which is EQUAL to SEQUENCE but not EQ.

Package

rutils.pair

Source

SYS:SRC;CODE;SEQ.LISP (not found)

Function: delete/swapped-arguments SEQUENCE ITEM &rest KEYWORD-ARGUMENTS
Package

rutils.sequence

Source

sequence.lisp (file)

Function: expand-destructuring-case KEY CLAUSES CASE
Package

rutils.misc

Source

misc.lisp (file)

Function: expand-predicate-case PRED KEYFORM CLAUSES CASE
Package

rutils.misc

Source

misc.lisp (file)

Function: extract-function-name SPEC

Useful for macros that want to mimic the functional interface for functions like #’eq and ’eq.

Package

rutils.misc

Source

misc.lisp (file)

Function: generate-switch-body WHOLE OBJECT CLAUSES TEST KEY &optional DEFAULT
Package

rutils.misc

Source

misc.lisp (file)

Function: remove/swapped-arguments SEQUENCE ITEM &rest KEYWORD-ARGUMENTS
Package

rutils.sequence

Source

sequence.lisp (file)

Function: rotate-head-to-tail SEQUENCE N
Package

rutils.sequence

Source

sequence.lisp (file)

Function: rotate-tail-to-head SEQUENCE N
Package

rutils.sequence

Source

sequence.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

6.2.4 Generic functions

Generic Function: case-failure-name CONDITION
Package

rutils.misc

Methods
Method: case-failure-name (CONDITION case-failure)
Source

misc.lisp (file)

Generic Function: case-failure-possibilities CONDITION
Package

rutils.misc

Methods
Method: case-failure-possibilities (CONDITION case-failure)
Source

misc.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   M   R  
Index Entry  Section

F
File, Lisp, rutils.asd: The rutils<dot>asd file
File, Lisp, rutils/core/abbr.lisp: The rutils/core/abbr<dot>lisp file
File, Lisp, rutils/core/anaphora.lisp: The rutils/core/anaphora<dot>lisp file
File, Lisp, rutils/core/array.lisp: The rutils/core/array<dot>lisp file
File, Lisp, rutils/core/core.lisp: The rutils/core/core<dot>lisp file
File, Lisp, rutils/core/hash-set.lisp: The rutils/core/hash-set<dot>lisp file
File, Lisp, rutils/core/hash-table.lisp: The rutils/core/hash-table<dot>lisp file
File, Lisp, rutils/core/list.lisp: The rutils/core/list<dot>lisp file
File, Lisp, rutils/core/misc.lisp: The rutils/core/misc<dot>lisp file
File, Lisp, rutils/core/packages.lisp: The rutils/core/packages<dot>lisp file
File, Lisp, rutils/core/pair.lisp: The rutils/core/pair<dot>lisp file
File, Lisp, rutils/core/readtable.lisp: The rutils/core/readtable<dot>lisp file
File, Lisp, rutils/core/rutils.lisp: The rutils/core/rutils<dot>lisp file
File, Lisp, rutils/core/sequence.lisp: The rutils/core/sequence<dot>lisp file
File, Lisp, rutils/core/string.lisp: The rutils/core/string<dot>lisp file
File, Lisp, rutils/core/tree.lisp: The rutils/core/tree<dot>lisp file

L
Lisp File, rutils.asd: The rutils<dot>asd file
Lisp File, rutils/core/abbr.lisp: The rutils/core/abbr<dot>lisp file
Lisp File, rutils/core/anaphora.lisp: The rutils/core/anaphora<dot>lisp file
Lisp File, rutils/core/array.lisp: The rutils/core/array<dot>lisp file
Lisp File, rutils/core/core.lisp: The rutils/core/core<dot>lisp file
Lisp File, rutils/core/hash-set.lisp: The rutils/core/hash-set<dot>lisp file
Lisp File, rutils/core/hash-table.lisp: The rutils/core/hash-table<dot>lisp file
Lisp File, rutils/core/list.lisp: The rutils/core/list<dot>lisp file
Lisp File, rutils/core/misc.lisp: The rutils/core/misc<dot>lisp file
Lisp File, rutils/core/packages.lisp: The rutils/core/packages<dot>lisp file
Lisp File, rutils/core/pair.lisp: The rutils/core/pair<dot>lisp file
Lisp File, rutils/core/readtable.lisp: The rutils/core/readtable<dot>lisp file
Lisp File, rutils/core/rutils.lisp: The rutils/core/rutils<dot>lisp file
Lisp File, rutils/core/sequence.lisp: The rutils/core/sequence<dot>lisp file
Lisp File, rutils/core/string.lisp: The rutils/core/string<dot>lisp file
Lisp File, rutils/core/tree.lisp: The rutils/core/tree<dot>lisp file

M
Module, rutils/core: The rutils/core module

R
rutils.asd: The rutils<dot>asd file
rutils/core: The rutils/core module
rutils/core/abbr.lisp: The rutils/core/abbr<dot>lisp file
rutils/core/anaphora.lisp: The rutils/core/anaphora<dot>lisp file
rutils/core/array.lisp: The rutils/core/array<dot>lisp file
rutils/core/core.lisp: The rutils/core/core<dot>lisp file
rutils/core/hash-set.lisp: The rutils/core/hash-set<dot>lisp file
rutils/core/hash-table.lisp: The rutils/core/hash-table<dot>lisp file
rutils/core/list.lisp: The rutils/core/list<dot>lisp file
rutils/core/misc.lisp: The rutils/core/misc<dot>lisp file
rutils/core/packages.lisp: The rutils/core/packages<dot>lisp file
rutils/core/pair.lisp: The rutils/core/pair<dot>lisp file
rutils/core/readtable.lisp: The rutils/core/readtable<dot>lisp file
rutils/core/rutils.lisp: The rutils/core/rutils<dot>lisp file
rutils/core/sequence.lisp: The rutils/core/sequence<dot>lisp file
rutils/core/string.lisp: The rutils/core/string<dot>lisp file
rutils/core/tree.lisp: The rutils/core/tree<dot>lisp file

Jump to:   F   L   M   R  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   #   (   2   ^  
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   R   S   T   U   V   W   X   Z  
Index Entry  Section

#
#/-reader: Exported functions
#h-reader: Exported functions
#v-reader: Exported functions
#`-reader: Exported functions
#{-reader: Exported functions

(
(setf get#): Exported functions
(setf last-elt): Exported functions
(setf last1): Exported functions
(setf lt): Exported functions
(setf rt): Exported functions

2
2nd: Exported macros

^
^-reader: Internal functions

A
aand: Exported macros
abbr: Exported macros
acond: Exported macros
add#: Exported functions
adowhile: Exported macros
aif: Exported macros
alist->ht: Exported functions
alist-to-plist: Exported functions
alistp: Exported functions
and-bind: Exported macros
and-it: Exported macros
and-let: Exported macros
and2: Exported functions
appendf: Exported macros
assoc1: Exported functions
atomize: Exported functions
awhen: Exported macros

B
blankp: Exported functions
butlast2: Exported functions

C
call: Exported functions
case-failure-name: Internal generic functions
case-failure-name: Internal generic functions
case-failure-possibilities: Internal generic functions
case-failure-possibilities: Internal generic functions
coercef: Exported macros
Compiler Macro, equal-lengths: Exported compiler macros
concat: Exported functions
cond-bind: Exported macros
cond-it: Exported macros
cond-let: Exported macros
copy-array: Exported functions
copy-hash-table: Exported functions
copy-pair: Internal functions
cswitch: Exported macros

D
dcase: Exported macros
dccase: Exported macros
dcons: Exported functions
decase: Exported macros
defpar: Exported macros
delete-from-plist: Exported functions
delete/swapped-arguments: Internal functions
deletef: Exported macros
diff#: Exported functions
dlistp: Exported functions
doindex: Exported macros
doleaves: Exported macros
dolines: Exported macros
doplist: Exported macros
dotable: Exported macros
dotree: Exported macros
dovec: Exported macros
dowhile-bind: Exported macros
dowhile-it: Exported macros
dowhile-let: Exported macros
ds-bind: Exported macros
dyadic: Exported functions

E
emptyp: Exported functions
emptyp#: Exported functions
ends-with: Exported functions
ensure-keyword: Exported functions
ensure-list: Exported functions
ensure-symbol: Exported functions
equal-lengths: Exported compiler macros
equal-lengths: Exported functions
eswitch: Exported macros
eval-always: Exported macros
expand-destructuring-case: Internal functions
expand-predicate-case: Internal functions
extract-function-name: Internal functions

F
flat-map: Exported functions
flatten: Exported functions
flet*: Exported macros
fmt: Exported functions
fn: Exported macros
Function, #/-reader: Exported functions
Function, #h-reader: Exported functions
Function, #v-reader: Exported functions
Function, #`-reader: Exported functions
Function, #{-reader: Exported functions
Function, (setf last-elt): Exported functions
Function, (setf last1): Exported functions
Function, (setf lt): Exported functions
Function, (setf rt): Exported functions
Function, add#: Exported functions
Function, alist->ht: Exported functions
Function, alist-to-plist: Exported functions
Function, alistp: Exported functions
Function, and2: Exported functions
Function, assoc1: Exported functions
Function, atomize: Exported functions
Function, blankp: Exported functions
Function, butlast2: Exported functions
Function, call: Exported functions
Function, concat: Exported functions
Function, copy-array: Exported functions
Function, copy-hash-table: Exported functions
Function, copy-pair: Internal functions
Function, dcons: Exported functions
Function, delete-from-plist: Exported functions
Function, delete/swapped-arguments: Internal functions
Function, diff#: Exported functions
Function, dlistp: Exported functions
Function, dyadic: Exported functions
Function, emptyp: Exported functions
Function, emptyp#: Exported functions
Function, ends-with: Exported functions
Function, ensure-keyword: Exported functions
Function, ensure-list: Exported functions
Function, ensure-symbol: Exported functions
Function, equal-lengths: Exported functions
Function, expand-destructuring-case: Internal functions
Function, expand-predicate-case: Internal functions
Function, extract-function-name: Internal functions
Function, flat-map: Exported functions
Function, flatten: Exported functions
Function, fmt: Exported functions
Function, generate-switch-body: Internal functions
Function, get#: Exported functions
Function, group: Exported functions
Function, hash-set: Exported functions
Function, hash-table-from-alist: Exported functions
Function, hash-table-from-plist: Exported functions
Function, hash-table-keys: Exported functions
Function, hash-table-to-alist: Exported functions
Function, hash-table-to-plist: Exported functions
Function, hash-table-vals: Exported functions
Function, ht->alist: Exported functions
Function, ht->pairs: Exported functions
Function, ht->plist: Exported functions
Function, ht-count: Exported functions
Function, ht-keys: Exported functions
Function, ht-vals: Exported functions
Function, in#: Exported functions
Function, inter#: Exported functions
Function, interleave: Exported functions
Function, interpose: Exported functions
Function, just: Exported functions
Function, keep: Exported functions
Function, keep-if: Exported functions
Function, keep-if-not: Exported functions
Function, last-char: Exported functions
Function, last-elt: Exported functions
Function, last1: Exported functions
Function, length=: Exported functions
Function, less: Exported functions
Function, lt: Exported functions
Function, m1: Exported functions
Function, make-gensym-list: Exported functions
Function, make-pair: Exported functions
Function, map*: Exported functions
Function, mapcanindex: Exported functions
Function, mapcat: Exported functions
Function, mapindex: Exported functions
Function, mapleaves: Exported functions
Function, mappend: Exported functions
Function, maptimes: Exported functions
Function, maptree: Exported functions
Function, merge-hash-tables: Exported functions
Function, merge-hts: Exported functions
Function, mkeyw: Exported functions
Function, mklist: Exported functions
Function, mksym: Exported functions
Function, more: Exported functions
Function, not-less: Exported functions
Function, not-more: Exported functions
Function, nshuffle: Exported functions
Function, or2: Exported functions
Function, p#: Exported functions
Function, package-external-symbols: Exported functions
Function, package-internal-symbols: Exported functions
Function, package-symbols: Exported functions
Function, pair: Exported functions
Function, pairs->ht: Exported functions
Function, partition-with: Exported functions
Function, permutations: Exported functions
Function, plist->ht: Exported functions
Function, plist-to-alist: Exported functions
Function, plistp: Exported functions
Function, print-hash-table: Exported functions
Function, print-ht: Exported functions
Function, product: Exported functions
Function, pushx: Exported functions
Function, range: Exported functions
Function, re-export-symbols: Exported functions
Function, read-file: Exported functions
Function, rem#: Exported functions
Function, remove-from-plist: Exported functions
Function, remove-idx: Exported functions
Function, remove/swapped-arguments: Internal functions
Function, rotate: Exported functions
Function, rotate-head-to-tail: Internal functions
Function, rotate-tail-to-head: Internal functions
Function, rt: Exported functions
Function, safe-sort: Exported functions
Function, set#: Exported functions
Function, set-equal: Exported functions
Function, sethash: Exported functions
Function, shuffle: Exported functions
Function, single: Exported functions
Function, slice: Exported functions
Function, slurp: Exported functions
Function, split: Exported functions
Function, split-if: Exported functions
Function, split-if-not: Exported functions
Function, split-sequence: Exported functions
Function, split-sequence-if: Exported functions
Function, split-sequence-if-not: Exported functions
Function, split-string: Exported functions
Function, starts-with: Exported functions
Function, strcat: Exported functions
Function, strjoin: Exported functions
Function, sub: Exported functions
Function, substr: Exported functions
Function, sum: Exported functions
Function, take: Exported functions
Function, take#: Exported functions
Function, takehash: Exported functions
Function, toggle-print-hash-table: Exported functions
Function, tree-depth: Exported functions
Function, tree-size: Exported functions
Function, true: Exported functions
Function, tryadic: Exported functions
Function, union#: Exported functions
Function, vec: Exported functions
Function, white-char-p: Exported functions
Function, xor#: Exported functions
Function, xor2: Exported functions
Function, zip: Exported functions
Function, zip*: Exported functions
Function, zip*-with: Exported functions
Function, zip-with: Exported functions
Function, ^-reader: Internal functions

G
generate-switch-body: Internal functions
Generic Function, case-failure-name: Internal generic functions
Generic Function, case-failure-possibilities: Internal generic functions
Generic Function, make: Exported generic functions
Generic Function, pairs: Exported generic functions
get#: Exported functions
getset#: Exported macros
getsethash: Exported macros
group: Exported functions

H
hash-set: Exported functions
hash-table-from-alist: Exported functions
hash-table-from-plist: Exported functions
hash-table-keys: Exported functions
hash-table-to-alist: Exported functions
hash-table-to-plist: Exported functions
hash-table-vals: Exported functions
ht->alist: Exported functions
ht->pairs: Exported functions
ht->plist: Exported functions
ht-count: Exported functions
ht-keys: Exported functions
ht-vals: Exported functions

I
if-bind: Exported macros
if-it: Exported macros
if-let: Exported macros
in#: Exported functions
inter#: Exported functions
interleave: Exported functions
interpose: Exported functions

J
just: Exported functions

K
keep: Exported functions
keep-if: Exported functions
keep-if-not: Exported functions

L
last-char: Exported functions
last-elt: Exported functions
last1: Exported functions
length=: Exported functions
less: Exported functions
listcase: Exported macros
lt: Exported functions

M
m1: Exported functions
Macro, 2nd: Exported macros
Macro, aand: Exported macros
Macro, abbr: Exported macros
Macro, acond: Exported macros
Macro, adowhile: Exported macros
Macro, aif: Exported macros
Macro, and-bind: Exported macros
Macro, and-it: Exported macros
Macro, and-let: Exported macros
Macro, appendf: Exported macros
Macro, awhen: Exported macros
Macro, coercef: Exported macros
Macro, cond-bind: Exported macros
Macro, cond-it: Exported macros
Macro, cond-let: Exported macros
Macro, cswitch: Exported macros
Macro, dcase: Exported macros
Macro, dccase: Exported macros
Macro, decase: Exported macros
Macro, defpar: Exported macros
Macro, deletef: Exported macros
Macro, doindex: Exported macros
Macro, doleaves: Exported macros
Macro, dolines: Exported macros
Macro, doplist: Exported macros
Macro, dotable: Exported macros
Macro, dotree: Exported macros
Macro, dovec: Exported macros
Macro, dowhile-bind: Exported macros
Macro, dowhile-it: Exported macros
Macro, dowhile-let: Exported macros
Macro, ds-bind: Exported macros
Macro, eswitch: Exported macros
Macro, eval-always: Exported macros
Macro, flet*: Exported macros
Macro, fn: Exported macros
Macro, getset#: Exported macros
Macro, getsethash: Exported macros
Macro, if-bind: Exported macros
Macro, if-it: Exported macros
Macro, if-let: Exported macros
Macro, listcase: Exported macros
Macro, multiple-value-prog2: Exported macros
Macro, mv-bind: Exported macros
Macro, named-lambda: Exported macros
Macro, nconcf: Exported macros
Macro, nreversef: Exported macros
Macro, nunionf: Exported macros
Macro, once-only: Exported macros
Macro, pcase: Exported macros
Macro, pccase: Exported macros
Macro, pecase: Exported macros
Macro, re-setf: Exported macros
Macro, removef: Exported macros
Macro, reversef: Exported macros
Macro, switch: Exported macros
Macro, trivial-positional-lambda: Internal macros
Macro, unionf: Exported macros
Macro, void: Exported macros
Macro, w/instr: Exported macros
Macro, w/outstr: Exported macros
Macro, w/uniqs: Exported macros
Macro, when-bind: Exported macros
Macro, when-it: Exported macros
Macro, when-let: Exported macros
Macro, with-gensyms: Exported macros
Macro, with-keys: Exported macros
Macro, with-out-file: Exported macros
Macro, with-output-to-list: Exported macros
Macro, with-pair: Exported macros
Macro, with-unique-names: Exported macros
Macro, xor: Exported macros
make: Exported generic functions
make: Exported generic functions
make: Exported generic functions
make-gensym-list: Exported functions
make-pair: Exported functions
map*: Exported functions
mapcanindex: Exported functions
mapcat: Exported functions
mapindex: Exported functions
mapleaves: Exported functions
mappend: Exported functions
maptimes: Exported functions
maptree: Exported functions
merge-hash-tables: Exported functions
merge-hts: Exported functions
Method, case-failure-name: Internal generic functions
Method, case-failure-possibilities: Internal generic functions
Method, make: Exported generic functions
Method, make: Exported generic functions
Method, pairs: Exported generic functions
Method, pairs: Exported generic functions
mkeyw: Exported functions
mklist: Exported functions
mksym: Exported functions
more: Exported functions
multiple-value-prog2: Exported macros
mv-bind: Exported macros

N
named-lambda: Exported macros
nconcf: Exported macros
not-less: Exported functions
not-more: Exported functions
nreversef: Exported macros
nshuffle: Exported functions
nunionf: Exported macros

O
once-only: Exported macros
or2: Exported functions

P
p#: Exported functions
package-external-symbols: Exported functions
package-internal-symbols: Exported functions
package-symbols: Exported functions
pair: Exported functions
pairs: Exported generic functions
pairs: Exported generic functions
pairs: Exported generic functions
pairs->ht: Exported functions
partition-with: Exported functions
pcase: Exported macros
pccase: Exported macros
pecase: Exported macros
permutations: Exported functions
plist->ht: Exported functions
plist-to-alist: Exported functions
plistp: Exported functions
print-hash-table: Exported functions
print-ht: Exported functions
product: Exported functions
pushx: Exported functions

R
range: Exported functions
re-export-symbols: Exported functions
re-setf: Exported macros
read-file: Exported functions
rem#: Exported functions
remove-from-plist: Exported functions
remove-idx: Exported functions
remove/swapped-arguments: Internal functions
removef: Exported macros
reversef: Exported macros
rotate: Exported functions
rotate-head-to-tail: Internal functions
rotate-tail-to-head: Internal functions
rt: Exported functions

S
safe-sort: Exported functions
set#: Exported functions
set-equal: Exported functions
Setf Expander, (setf get#): Exported functions
sethash: Exported functions
shuffle: Exported functions
single: Exported functions
slice: Exported functions
slurp: Exported functions
split: Exported functions
split-if: Exported functions
split-if-not: Exported functions
split-sequence: Exported functions
split-sequence-if: Exported functions
split-sequence-if-not: Exported functions
split-string: Exported functions
starts-with: Exported functions
strcat: Exported functions
strjoin: Exported functions
sub: Exported functions
substr: Exported functions
sum: Exported functions
switch: Exported macros

T
take: Exported functions
take#: Exported functions
takehash: Exported functions
toggle-print-hash-table: Exported functions
tree-depth: Exported functions
tree-size: Exported functions
trivial-positional-lambda: Internal macros
true: Exported functions
tryadic: Exported functions

U
union#: Exported functions
unionf: Exported macros

V
vec: Exported functions
void: Exported macros

W
w/instr: Exported macros
w/outstr: Exported macros
w/uniqs: Exported macros
when-bind: Exported macros
when-it: Exported macros
when-let: Exported macros
white-char-p: Exported functions
with-gensyms: Exported macros
with-keys: Exported macros
with-out-file: Exported macros
with-output-to-list: Exported macros
with-pair: Exported macros
with-unique-names: Exported macros

X
xor: Exported macros
xor#: Exported functions
xor2: Exported functions

Z
zip: Exported functions
zip*: Exported functions
zip*-with: Exported functions
zip-with: Exported functions

Jump to:   #   (   2   ^  
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   R   S   T   U   V   W   X   Z  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +  
N   P   S  
Index Entry  Section

*
*all-packages*: Internal special variables

+
+default-opts+: Exported special variables

N
name: Exported conditions

P
possibilities: Exported conditions

S
Slot, name: Exported conditions
Slot, possibilities: Exported conditions
Special Variable, *all-packages*: Internal special variables
Special Variable, +default-opts+: Exported special variables

Jump to:   *   +  
N   P   S  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   A   C   P   R   S   T  
Index Entry  Section

A
array-index: Exported types
array-length: Exported types

C
case-failure: Exported conditions
Condition, case-failure: Exported conditions
Condition, rutils-style-warning: Exported conditions

P
Package, rutil: The rutil package
Package, rutils: The rutils package
Package, rutils.abbr: The rutils<dot>abbr package
Package, rutils.anaphora: The rutils<dot>anaphora package
Package, rutils.array: The rutils<dot>array package
Package, rutils.core: The rutils<dot>core package
Package, rutils.hash-set: The rutils<dot>hash-set package
Package, rutils.hash-table: The rutils<dot>hash-table package
Package, rutils.list: The rutils<dot>list package
Package, rutils.misc: The rutils<dot>misc package
Package, rutils.pair: The rutils<dot>pair package
Package, rutils.readtable: The rutils<dot>readtable package
Package, rutils.sequence: The rutils<dot>sequence package
Package, rutils.string: The rutils<dot>string package
Package, rutils.tree: The rutils<dot>tree package

R
rutil: The rutil package
rutils: The rutils system
rutils: The rutils package
rutils-style-warning: Exported conditions
rutils.abbr: The rutils<dot>abbr package
rutils.anaphora: The rutils<dot>anaphora package
rutils.array: The rutils<dot>array package
rutils.core: The rutils<dot>core package
rutils.hash-set: The rutils<dot>hash-set package
rutils.hash-table: The rutils<dot>hash-table package
rutils.list: The rutils<dot>list package
rutils.misc: The rutils<dot>misc package
rutils.pair: The rutils<dot>pair package
rutils.readtable: The rutils<dot>readtable package
rutils.sequence: The rutils<dot>sequence package
rutils.string: The rutils<dot>string package
rutils.tree: The rutils<dot>tree package

S
string-designator: Exported types
System, rutils: The rutils system

T
Type, array-index: Exported types
Type, array-length: Exported types
Type, string-designator: Exported types

Jump to:   A   C   P   R   S   T