The alexandria Reference Manual

Table of Contents

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

The alexandria Reference Manual

This is the alexandria Reference Manual, version 0.0.0, generated automatically by Declt version 2.3 "Robert April" on Tue Feb 20 07:36:17 2018 GMT+0.


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

1 Introduction

Alexandria is a collection of portable public domain utilities that
meet the following constraints:

 * Utilities, not extensions: Alexandria will not contain conceptual
   extensions to Common Lisp, instead limiting itself to tools and
   utilities that fit well within the framework of standard ANSI
   Common Lisp. Test-frameworks, system definitions, logging
   facilities, serialization layers, etc. are all outside the scope of
   Alexandria as a library, though well within the scope of Alexandria
   as a project.

 * Conservative: Alexandria limits itself to what project members
   consider conservative utilities. Alexandria does not and will not
   include anaphoric constructs, loop-like binding macros, etc.

 * Portable: Alexandria limits itself to portable parts of Common
   Lisp. Even apparently conservative and useful functions remain
   outside the scope of Alexandria if they cannot be implemented
   portably. Portability is here defined as portable within a
   conforming implementation: implementation bugs are not considered
   portability issues.

Homepage:

  http://common-lisp.net/project/alexandria/

Mailing lists:

  http://lists.common-lisp.net/mailman/listinfo/alexandria-devel
  http://lists.common-lisp.net/mailman/listinfo/alexandria-cvs

Repository:

  git://common-lisp.net/projects/alexandria/alexandria.git

Documentation:

  http://common-lisp.net/project/alexandria/draft/alexandria.html

  (To build docs locally: cd doc && make html pdf info)

Patches:

  Patches are always welcome! Please send them to the mailing list as
  attachments, generated by "git format-patch -1".

  Patches should include a commit message that explains what's being
  done and /why/, and when fixing a bug or adding a feature you should
  also include a test-case.

  Be advised though that right now new features are unlikely to be
  accepted until 1.0 is officially out of the door.


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 alexandria

Author

Nikodemus Siivola <nikodemus@sb-studio.net>

License

Public Domain / 0-clause MIT

Description

Alexandria is a collection of portable public domain utilities.

Long Description

Alexandria is a project and a library.

As a project Alexandria’s goal is to reduce duplication of effort and improve portability of Common Lisp code according to its own idiosyncratic and rather conservative aesthetic. What this actually means is open to debate, but each project member has a veto on all project activities, so a degree of conservativism is inevitable.

As a library Alexandria is one of the means by which the project strives for its goals.

Alexandria is a collection of portable public domain utilities that meet the following constraints:

* Utilities, not extensions: Alexandria will not contain conceptual extensions to Common Lisp, instead limiting itself to tools and utilities that fit well within the framework of standard ANSI Common Lisp. Test-frameworks, system definitions, logging facilities, serialization layers, etc. are all outside the scope of Alexandria as a library, though well within the scope of Alexandria as a project.

* Conservative: Alexandria limits itself to what project members consider conservative utilities. Alexandria does not and will not include anaphoric constructs, loop-like binding macros, etc.

* Portable: Alexandria limits itself to portable parts of Common Lisp. Even apparently conservative and useful functions remain outside the scope of Alexandria if they cannot be implemented portably. Portability is here defined as portable within a conforming implementation: implementation bugs are not considered portability issues.

* Team player: Alexandria will not (initially, at least) subsume or provide functionality for which good-quality special-purpose packages exist, like split-sequence. Instead, third party packages such as that may be "blessed".

Version

0.0.0

Source

alexandria.asd (file)

Components

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

3 Files

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


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

3.1 Lisp


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

3.1.1 alexandria.asd

Location

alexandria.asd

Systems

alexandria (system)


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

3.1.2 alexandria/package.lisp

Parent

alexandria (system)

Location

package.lisp

Packages

alexandria.0.dev


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

3.1.3 alexandria/definitions.lisp

Dependency

package.lisp (file)

Parent

alexandria (system)

Location

definitions.lisp

Exported Definitions

define-constant (macro)

Internal Definitions

%reevaluate-constant (function)


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

3.1.4 alexandria/binding.lisp

Dependency

package.lisp (file)

Parent

alexandria (system)

Location

binding.lisp

Exported Definitions

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

3.1.5 alexandria/strings.lisp

Dependency

package.lisp (file)

Parent

alexandria (system)

Location

strings.lisp

Exported Definitions

string-designator (type)


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

3.1.6 alexandria/conditions.lisp

Dependency

package.lisp (file)

Parent

alexandria (system)

Location

conditions.lisp

Exported Definitions

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

3.1.7 alexandria/io.lisp

Dependencies
Parent

alexandria (system)

Location

io.lisp

Exported Definitions
Internal Definitions

with-open-file* (macro)


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

3.1.8 alexandria/macros.lisp

Dependencies
Parent

alexandria (system)

Location

macros.lisp

Exported Definitions
Internal Definitions

expand-destructuring-case (function)


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

3.1.9 alexandria/hash-tables.lisp

Dependencies
Parent

alexandria (system)

Location

hash-tables.lisp

Exported Definitions

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

3.1.10 alexandria/control-flow.lisp

Dependencies
Parent

alexandria (system)

Location

control-flow.lisp

Exported Definitions
Internal Definitions

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

3.1.11 alexandria/symbols.lisp

Dependency

package.lisp (file)

Parent

alexandria (system)

Location

symbols.lisp

Exported Definitions
Internal Definitions

maybe-intern (function)


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

3.1.12 alexandria/functions.lisp

Dependencies
Parent

alexandria (system)

Location

functions.lisp

Exported Definitions
Internal Definitions

ensure-functionf/1 (macro)


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

3.1.13 alexandria/lists.lisp

Dependencies
Parent

alexandria (system)

Location

lists.lisp

Exported Definitions
Internal Definitions

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

3.1.14 alexandria/types.lisp

Dependencies
Parent

alexandria (system)

Location

types.lisp

Exported Definitions

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

3.1.15 alexandria/arrays.lisp

Dependencies
Parent

alexandria (system)

Location

arrays.lisp

Exported Definitions

copy-array (function)


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

3.1.16 alexandria/sequences.lisp

Dependencies
Parent

alexandria (system)

Location

sequences.lisp

Exported Definitions
Internal Definitions

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

3.1.17 alexandria/numbers.lisp

Dependencies
Parent

alexandria (system)

Location

numbers.lisp

Exported Definitions
Internal Definitions

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

3.1.18 alexandria/features.lisp

Dependencies
Parent

alexandria (system)

Location

features.lisp

Exported Definitions

featurep (function)


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

3.2 Other


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

3.2.1 alexandria/LICENCE

Parent

alexandria (system)

Location

LICENCE


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

3.2.2 alexandria/tests.lisp

Parent

alexandria (system)

Location

tests.lisp


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

4 Packages

Packages are listed by definition order.


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

4.1 alexandria.0.dev

Source

package.lisp (file)

Nickname

alexandria

Use List

common-lisp

Used By List
Exported Definitions
Internal Definitions

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

5 Definitions

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


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

5.1 Exported definitions


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

5.1.1 Macros

Macro: appendf PLACE &rest LISTS

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

Package

alexandria.0.dev

Source

lists.lisp (file)

Macro: coercef PLACE TYPE-SPEC

Modify-macro for COERCE.

Package

alexandria.0.dev

Source

types.lisp (file)

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

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

Package

alexandria.0.dev

Source

control-flow.lisp (file)

Macro: define-constant NAME INITIAL-VALUE &key TEST DOCUMENTATION

Ensures that the global variable named by NAME is a constant with a value that is equal under TEST to the result of evaluating INITIAL-VALUE. TEST is a /function designator/ that defaults to EQL. If DOCUMENTATION is given, it becomes the documentation string of the constant.

Signals an error if NAME is already a bound non-constant variable.

Signals an error if NAME is already a constant variable whose value is not equal under TEST to result of evaluating INITIAL-VALUE.

Package

alexandria.0.dev

Source

definitions.lisp (file)

Macro: delete-from-plistf PLACE &rest KEYS

Modify macro for DELETE-FROM-PLIST.

Package

alexandria.0.dev

Source

lists.lisp (file)

Macro: deletef PLACE ITEM &rest KEYWORD-ARGUMENTS

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

alexandria.0.dev

Source

sequences.lisp (file)

Macro: destructuring-case KEYFORM &body CLAUSES

DESTRUCTURING-CASE, -CCASE, and -ECASE are 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, CCASE, or ECASE,
is selected, and FORMs are then executed with CDR of KEY is destructured and
bound by the DESTRUCTURING-LAMBDA-LIST.

Example:

(defun dcase (x)
(destructuring-case x
((:foo a b)
(format nil "foo: ~S, ~S" a b))
((:bar &key a b)
(format nil "bar, ~S, ~S" a b))
(((:alt1 :alt2) a)
(format nil "alt: ~S" a))
((t &rest rest)
(format nil "unknown: ~S" rest))))

(dcase (list :foo 1 2)) ; => "foo: 1, 2"
(dcase (list :bar :a 1 :b 2)) ; => "bar: 1, 2"
(dcase (list :alt1 1)) ; => "alt: 1"
(dcase (list :alt2 2)) ; => "alt: 2"
(dcase (list :quux 1 2 3)) ; => "unknown: 1, 2, 3"

(defun decase (x)
(destructuring-case x
((:foo a b)
(format nil "foo: ~S, ~S" a b))
((:bar &key a b)
(format nil "bar, ~S, ~S" a b))
(((:alt1 :alt2) a)
(format nil "alt: ~S" a))))

(decase (list :foo 1 2)) ; => "foo: 1, 2"
(decase (list :bar :a 1 :b 2)) ; => "bar: 1, 2"
(decase (list :alt1 1)) ; => "alt: 1"
(decase (list :alt2 2)) ; => "alt: 2"
(decase (list :quux 1 2 3)) ; =| error

Package

alexandria.0.dev

Source

macros.lisp (file)

Macro: destructuring-ccase KEYFORM &body CLAUSES

DESTRUCTURING-CASE, -CCASE, and -ECASE are 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, CCASE, or ECASE,
is selected, and FORMs are then executed with CDR of KEY is destructured and
bound by the DESTRUCTURING-LAMBDA-LIST.

Example:

(defun dcase (x)
(destructuring-case x
((:foo a b)
(format nil "foo: ~S, ~S" a b))
((:bar &key a b)
(format nil "bar, ~S, ~S" a b))
(((:alt1 :alt2) a)
(format nil "alt: ~S" a))
((t &rest rest)
(format nil "unknown: ~S" rest))))

(dcase (list :foo 1 2)) ; => "foo: 1, 2"
(dcase (list :bar :a 1 :b 2)) ; => "bar: 1, 2"
(dcase (list :alt1 1)) ; => "alt: 1"
(dcase (list :alt2 2)) ; => "alt: 2"
(dcase (list :quux 1 2 3)) ; => "unknown: 1, 2, 3"

(defun decase (x)
(destructuring-case x
((:foo a b)
(format nil "foo: ~S, ~S" a b))
((:bar &key a b)
(format nil "bar, ~S, ~S" a b))
(((:alt1 :alt2) a)
(format nil "alt: ~S" a))))

(decase (list :foo 1 2)) ; => "foo: 1, 2"
(decase (list :bar :a 1 :b 2)) ; => "bar: 1, 2"
(decase (list :alt1 1)) ; => "alt: 1"
(decase (list :alt2 2)) ; => "alt: 2"
(decase (list :quux 1 2 3)) ; =| error

Package

alexandria.0.dev

Source

macros.lisp (file)

Macro: destructuring-ecase KEYFORM &body CLAUSES

DESTRUCTURING-CASE, -CCASE, and -ECASE are 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, CCASE, or ECASE,
is selected, and FORMs are then executed with CDR of KEY is destructured and
bound by the DESTRUCTURING-LAMBDA-LIST.

Example:

(defun dcase (x)
(destructuring-case x
((:foo a b)
(format nil "foo: ~S, ~S" a b))
((:bar &key a b)
(format nil "bar, ~S, ~S" a b))
(((:alt1 :alt2) a)
(format nil "alt: ~S" a))
((t &rest rest)
(format nil "unknown: ~S" rest))))

(dcase (list :foo 1 2)) ; => "foo: 1, 2"
(dcase (list :bar :a 1 :b 2)) ; => "bar: 1, 2"
(dcase (list :alt1 1)) ; => "alt: 1"
(dcase (list :alt2 2)) ; => "alt: 2"
(dcase (list :quux 1 2 3)) ; => "unknown: 1, 2, 3"

(defun decase (x)
(destructuring-case x
((:foo a b)
(format nil "foo: ~S, ~S" a b))
((:bar &key a b)
(format nil "bar, ~S, ~S" a b))
(((:alt1 :alt2) a)
(format nil "alt: ~S" a))))

(decase (list :foo 1 2)) ; => "foo: 1, 2"
(decase (list :bar :a 1 :b 2)) ; => "bar: 1, 2"
(decase (list :alt1 1)) ; => "alt: 1"
(decase (list :alt2 2)) ; => "alt: 2"
(decase (list :quux 1 2 3)) ; =| error

Package

alexandria.0.dev

Source

macros.lisp (file)

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

Iterates over elements of PLIST. BODY can be preceded by declarations, and is like a TAGBODY. RETURN may be used to terminate the iteration early. If RETURN is not used, returns VALUES.

Package

alexandria.0.dev

Source

lists.lisp (file)

Macro: ensure-functionf &rest PLACES

Multiple-place modify macro for ENSURE-FUNCTION: ensures that each of PLACES contains a function.

Package

alexandria.0.dev

Source

functions.lisp (file)

Macro: ensure-gethash KEY HASH-TABLE &optional DEFAULT

Like GETHASH, but if KEY is not found in the HASH-TABLE saves the DEFAULT under key before returning it. Secondary return value is true if key was already in the table.

Package

alexandria.0.dev

Source

hash-tables.lisp (file)

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

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

Package

alexandria.0.dev

Source

control-flow.lisp (file)

Macro: if-let BINDINGS &body THEN-FORM

Creates new variable bindings, and conditionally executes either
THEN-FORM or ELSE-FORM. ELSE-FORM defaults to NIL.

BINDINGS must be either single binding of the form:

(variable initial-form)

or a list of bindings of the form:

((variable-1 initial-form-1)
(variable-2 initial-form-2)
...
(variable-n initial-form-n))

All initial-forms are executed sequentially in the specified order. Then all the variables are bound to the corresponding values.

If all variables were bound to true values, the THEN-FORM is executed with the bindings in effect, otherwise the ELSE-FORM is executed with the bindings in effect.

Package

alexandria.0.dev

Source

binding.lisp (file)

Macro: ignore-some-conditions (&rest CONDITIONS) &body BODY

Similar to CL:IGNORE-ERRORS but the (unevaluated) CONDITIONS list determines which specific conditions are to be ignored.

Package

alexandria.0.dev

Source

conditions.lisp (file)

Macro: maxf PLACE &rest NUMBERS

Modify-macro for MAX. Sets place designated by the first argument to the maximum of its original value and NUMBERS.

Package

alexandria.0.dev

Source

numbers.lisp (file)

Macro: minf PLACE &rest NUMBERS

Modify-macro for MIN. Sets place designated by the first argument to the minimum of its original value and NUMBERS.

Package

alexandria.0.dev

Source

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

alexandria.0.dev

Source

control-flow.lisp (file)

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

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

Package

alexandria.0.dev

Source

functions.lisp (file)

Macro: nconcf PLACE &rest LISTS

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

Package

alexandria.0.dev

Source

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

alexandria.0.dev

Source

lists.lisp (file)

Macro: nth-value-or NTH-VALUE &body FORMS

Evaluates FORM arguments one at a time, until the NTH-VALUE returned by one of the forms is true. It then returns all the values returned by evaluating that form. If none of the forms return a true nth value, this form returns NIL.

Package

alexandria.0.dev

Source

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

alexandria.0.dev

Source

lists.lisp (file)

Macro: once-only SPECS &body FORMS

Evaluates FORMS with symbols specified in SPECS rebound to temporary variables, ensuring that each initform is evaluated only once.

Each of SPECS must either be a symbol naming the variable to be rebound, or of the form:

(symbol initform)

Bare symbols in SPECS are equivalent to

(symbol symbol)

Example:

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

Package

alexandria.0.dev

Source

macros.lisp (file)

Macro: remove-from-plistf PLACE &rest KEYS

Modify macro for REMOVE-FROM-PLIST.

Package

alexandria.0.dev

Source

lists.lisp (file)

Macro: removef PLACE ITEM &rest KEYWORD-ARGUMENTS

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

alexandria.0.dev

Source

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

alexandria.0.dev

Source

lists.lisp (file)

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

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

Package

alexandria.0.dev

Source

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

alexandria.0.dev

Source

lists.lisp (file)

Macro: unwind-protect-case (&optional ABORT-FLAG) PROTECTED-FORM &body CLAUSES

Like CL:UNWIND-PROTECT, but you can specify the circumstances that
the cleanup CLAUSES are run.

clauses ::= (:NORMAL form*)* | (:ABORT form*)* | (:ALWAYS form*)*

Clauses can be given in any order, and more than one clause can be
given for each circumstance. The clauses whose denoted circumstance
occured, are executed in the order the clauses appear.

ABORT-FLAG is the name of a variable that will be bound to T in
CLAUSES if the PROTECTED-FORM aborted preemptively, and to NIL
otherwise.

Examples:

(unwind-protect-case ()
(protected-form)
(:normal (format t "This is only evaluated if PROTECTED-FORM executed normally.~%")) (:abort (format t "This is only evaluated if PROTECTED-FORM aborted preemptively.~%")) (:always (format t "This is evaluated in either case.~%")))

(unwind-protect-case (aborted-p)
(protected-form)
(:always (perform-cleanup-if aborted-p)))

Package

alexandria.0.dev

Source

conditions.lisp (file)

Macro: when-let BINDINGS &body FORMS

Creates new variable bindings, and conditionally executes FORMS.

BINDINGS must be either single binding of the form:

(variable initial-form)

or a list of bindings of the form:

((variable-1 initial-form-1)
(variable-2 initial-form-2)
...
(variable-n initial-form-n))

All initial-forms are executed sequentially in the specified order. Then all the variables are bound to the corresponding values.

If all variables were bound to true values, then FORMS are executed as an implicit PROGN.

Package

alexandria.0.dev

Source

binding.lisp (file)

Macro: when-let* BINDINGS &body FORMS

Creates new variable bindings, and conditionally executes FORMS.

BINDINGS must be either single binding of the form:

(variable initial-form)

or a list of bindings of the form:

((variable-1 initial-form-1)
(variable-2 initial-form-2)
...
(variable-n initial-form-n))

Each initial-form is executed in turn, and the variable bound to the corresponding value. Initial-form expressions can refer to variables previously bound by the WHEN-LET*.

Execution of WHEN-LET* stops immediately if any initial-form evaluates to NIL. If all initial-forms evaluate to true, then FORMS are executed as an implicit PROGN.

Package

alexandria.0.dev

Source

binding.lisp (file)

Macro: whichever &rest POSSIBILITIES

Evaluates exactly one of POSSIBILITIES, chosen at random.

Package

alexandria.0.dev

Source

control-flow.lisp (file)

Macro: with-gensyms NAMES &body FORMS

Binds each variable named by a symbol in NAMES to a unique symbol around FORMS. Each of NAMES must either be either a symbol, or of the form:

(symbol string-designator)

Bare symbols appearing in NAMES are equivalent to:

(symbol symbol)

The string-designator is used as the argument to GENSYM when constructing the unique symbol the named variable will be bound to.

Package

alexandria.0.dev

Source

macros.lisp (file)

Macro: with-input-from-file (STREAM-NAME FILE-NAME &rest ARGS &key DIRECTION &allow-other-keys) &body BODY

Evaluate BODY with STREAM-NAME to an input stream on the file FILE-NAME. ARGS is sent as is to the call to OPEN except EXTERNAL-FORMAT, which is only sent to WITH-OPEN-FILE when it’s not NIL.

Package

alexandria.0.dev

Source

io.lisp (file)

Macro: with-output-to-file (STREAM-NAME FILE-NAME &rest ARGS &key DIRECTION &allow-other-keys) &body BODY

Evaluate BODY with STREAM-NAME to an output stream on the file FILE-NAME. ARGS is sent as is to the call to OPEN except EXTERNAL-FORMAT, which is only sent to WITH-OPEN-FILE when it’s not NIL.

Package

alexandria.0.dev

Source

io.lisp (file)

Macro: with-unique-names NAMES &body FORMS

Alias for WITH-GENSYMS.

Package

alexandria.0.dev

Source

macros.lisp (file)

Macro: xor &rest DATUMS

Evaluates its arguments one at a time, from left to right. If more than one argument evaluates to a true value no further DATUMS are evaluated, and NIL is returned as both primary and secondary value. If exactly one argument evaluates to true, its value is returned as the primary value after all the arguments have been evaluated, and T is returned as the secondary value. If no arguments evaluate to true NIL is retuned as primary, and T as secondary value.

Package

alexandria.0.dev

Source

control-flow.lisp (file)


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

5.1.2 Compiler macros

Compiler Macro: compose FUNCTION &rest MORE-FUNCTIONS
Package

alexandria.0.dev

Source

functions.lisp (file)

Compiler Macro: curry FUNCTION &rest ARGUMENTS
Package

alexandria.0.dev

Source

functions.lisp (file)

Compiler Macro: emptyp SEQUENCE
Package

alexandria.0.dev

Source

sequences.lisp (file)

Compiler Macro: length= LENGTH &rest SEQUENCES
Package

alexandria.0.dev

Source

sequences.lisp (file)

Compiler Macro: multiple-value-compose FUNCTION &rest MORE-FUNCTIONS
Package

alexandria.0.dev

Source

functions.lisp (file)

Compiler Macro: of-type TYPE
Package

alexandria.0.dev

Source

types.lisp (file)

Compiler Macro: rcurry FUNCTION &rest ARGUMENTS
Package

alexandria.0.dev

Source

functions.lisp (file)


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

5.1.3 Functions

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

Returns a hash table containing the keys and values of the association list ALIST. Hash table is initialized using the HASH-TABLE-INITARGS.

Package

alexandria.0.dev

Source

hash-tables.lisp (file)

Function: alist-plist ALIST

Returns a property list containing the same keys and values as the association list ALIST in the same order.

Package

alexandria.0.dev

Source

lists.lisp (file)

Function: assoc-value ALIST KEY &key TEST

ASSOC-VALUE is an alist accessor very much like ASSOC, but it can be used with SETF.

Package

alexandria.0.dev

Source

lists.lisp (file)

Setf Expander

(setf assoc-value) (setf expander)

Setf Expander: (setf assoc-value) PLACE KEY &key TEST
Package

alexandria.0.dev

Source

lists.lisp (file)

Reader

assoc-value (function)

Function: binomial-coefficient N K

Binomial coefficient of N and K, also expressed as N choose K. This is the number of K element combinations given N choises. N must be equal to or greater then K.

Package

alexandria.0.dev

Source

numbers.lisp (file)

Function: circular-list &rest ELEMENTS

Creates a circular list of ELEMENTS.

Package

alexandria.0.dev

Source

lists.lisp (file)

Function: circular-list-p OBJECT

Returns true if OBJECT is a circular list, NIL otherwise.

Package

alexandria.0.dev

Source

lists.lisp (file)

Function: circular-tree-p OBJECT

Returns true if OBJECT is a circular tree, NIL otherwise.

Package

alexandria.0.dev

Source

lists.lisp (file)

Function: clamp NUMBER MIN MAX

Clamps the NUMBER into [min, max] range. Returns MIN if NUMBER is lesser then MIN and MAX if NUMBER is greater then MAX, otherwise returns NUMBER.

Package

alexandria.0.dev

Source

numbers.lisp (file)

Function: compose FUNCTION &rest MORE-FUNCTIONS

Returns a function composed of FUNCTION and MORE-FUNCTIONS that applies its arguments to to each in turn, starting from the rightmost of MORE-FUNCTIONS, and then calling the next one with the primary value of the last.

Package

alexandria.0.dev

Source

functions.lisp (file)

Function: conjoin PREDICATE &rest MORE-PREDICATES

Returns a function that applies each of PREDICATE and MORE-PREDICATE functions in turn to its arguments, returning NIL if any of the predicates returns false, without calling the remaining predicates. If none of the predicates returns false, returns the primary value of the last predicate.

Package

alexandria.0.dev

Source

functions.lisp (file)

Function: copy-array ARRAY &key ELEMENT-TYPE FILL-POINTER ADJUSTABLE

Returns an undisplaced copy of ARRAY, with same fill-pointer and adjustability (if any) as the original, unless overridden by the keyword arguments.

Package

alexandria.0.dev

Source

arrays.lisp (file)

Function: copy-file FROM TO &key IF-TO-EXISTS ELEMENT-TYPE FINISH-OUTPUT
Package

alexandria.0.dev

Source

io.lisp (file)

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

Returns a copy of hash table TABLE, with the same keys and values as the TABLE. 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 CL:IDENTITY, a shallow copy is returned by default.

Package

alexandria.0.dev

Source

hash-tables.lisp (file)

Function: copy-sequence TYPE SEQUENCE

Returns a fresh sequence of TYPE, which has the same elements as SEQUENCE.

Package

alexandria.0.dev

Source

sequences.lisp (file)

Function: copy-stream INPUT OUTPUT &key ELEMENT-TYPE BUFFER-SIZE BUFFER START END FINISH-OUTPUT

Reads data from INPUT and writes it to OUTPUT. Both INPUT and OUTPUT must
be streams, they will be passed to READ-SEQUENCE and WRITE-SEQUENCE and must have compatible element-types.

Package

alexandria.0.dev

Source

io.lisp (file)

Function: count-permutations N &optional K

Number of K element permutations for a sequence of N objects. K defaults to N

Package

alexandria.0.dev

Source

numbers.lisp (file)

Function: curry FUNCTION &rest ARGUMENTS

Returns a function that applies ARGUMENTS and the arguments it is called with to FUNCTION.

Package

alexandria.0.dev

Source

functions.lisp (file)

Function: delete-from-plist PLIST &rest KEYS

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

Package

alexandria.0.dev

Source

lists.lisp (file)

Function: disjoin PREDICATE &rest MORE-PREDICATES

Returns a function that applies each of PREDICATE and MORE-PREDICATE functions in turn to its arguments, returning the primary value of the first predicate that returns true, without calling the remaining predicates. If none of the predicates returns true, NIL is returned.

Package

alexandria.0.dev

Source

functions.lisp (file)

Function: ends-with OBJECT SEQUENCE &key TEST KEY

Returns true if SEQUENCE is a sequence whose last element is EQL to OBJECT. Returns NIL if the SEQUENCE is not a sequence or is an empty sequence. Signals an error if SEQUENCE is an improper list.

Package

alexandria.0.dev

Source

sequences.lisp (file)

Function: ends-with-subseq SUFFIX SEQUENCE &key TEST

Test whether SEQUENCE ends with SUFFIX. In other words: return true if the last (length SUFFIX) elements of SEQUENCE are equal to SUFFIX.

Package

alexandria.0.dev

Source

sequences.lisp (file)

Function: ensure-car THING

If THING is a CONS, its CAR is returned. Otherwise THING is returned.

Package

alexandria.0.dev

Source

lists.lisp (file)

Function: ensure-cons CONS

If CONS is a cons, it is returned. Otherwise returns a fresh cons with CONS in the car, and NIL in the cdr.

Package

alexandria.0.dev

Source

lists.lisp (file)

Function: ensure-function FUNCTION-DESIGNATOR

Returns the function designated by FUNCTION-DESIGNATOR:
if FUNCTION-DESIGNATOR is a function, it is returned, otherwise it must be a function name and its FDEFINITION is returned.

Package

alexandria.0.dev

Source

functions.lisp (file)

Function: ensure-list LIST

If LIST is a list, it is returned. Otherwise returns the list designated by LIST.

Package

alexandria.0.dev

Source

lists.lisp (file)

Function: ensure-symbol NAME &optional PACKAGE

Returns a symbol with name designated by NAME, accessible in package designated by PACKAGE. If symbol is not already accessible in PACKAGE, it is interned there. Returns a secondary value reflecting the status of the symbol in the package, which matches the secondary return value of INTERN.

Example:

(ensure-symbol :cons :cl) => cl:cons, :external

Package

alexandria.0.dev

Source

symbols.lisp (file)

Function: extremum SEQUENCE PREDICATE &key KEY START END

Returns the element of SEQUENCE that would appear first if the subsequence bounded by START and END was sorted using PREDICATE and KEY.

EXTREMUM determines the relationship between two elements of SEQUENCE by using the PREDICATE function. PREDICATE should return true if and only if the first argument is strictly less than the second one (in some appropriate sense). Two arguments X and Y are considered to be equal if (FUNCALL PREDICATE X Y) and (FUNCALL PREDICATE Y X) are both false.

The arguments to the PREDICATE function are computed from elements of SEQUENCE using the KEY function, if supplied. If KEY is not supplied or is NIL, the sequence element itself is used.

If SEQUENCE is empty, NIL is returned.

Package

alexandria.0.dev

Source

sequences.lisp (file)

Function: factorial N

Factorial of non-negative integer N.

Package

alexandria.0.dev

Source

numbers.lisp (file)

Function: featurep FEATURE-EXPRESSION

Returns T if the argument matches the state of the *FEATURES* list and NIL if it does not. FEATURE-EXPRESSION can be any atom or list acceptable to the reader macros #+ and #-.

Package

alexandria.0.dev

Source

features.lisp (file)

Function: first-elt SEQUENCE

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

Package

alexandria.0.dev

Source

sequences.lisp (file)

Writer

(setf first-elt) (function)

Function: (setf first-elt) OBJECT SEQUENCE

Sets the first element of SEQUENCE. Signals a type-error if SEQUENCE is
not a sequence, is an empty sequence, or if OBJECT cannot be stored in SEQUENCE.

Package

alexandria.0.dev

Source

sequences.lisp (file)

Reader

first-elt (function)

Function: flatten TREE

Traverses the tree in order, collecting non-null leaves into a list.

Package

alexandria.0.dev

Source

lists.lisp (file)

Function: format-symbol PACKAGE CONTROL &rest ARGUMENTS

Constructs a string by applying ARGUMENTS to string designator CONTROL as if by FORMAT within WITH-STANDARD-IO-SYNTAX, and then creates a symbol named by that string.

If PACKAGE is NIL, returns an uninterned symbol, if package is T, returns a symbol interned in the current package, and otherwise returns a symbol interned in the package designated by PACKAGE.

Package

alexandria.0.dev

Source

symbols.lisp (file)

Function: gaussian-random &optional MIN MAX

Returns two gaussian random double floats as the primary and secondary value, optionally constrained by MIN and MAX. Gaussian random numbers form a standard normal distribution around 0.0d0.

Sufficiently positive MIN or negative MAX will cause the algorithm used to take a very long time. If MIN is positive it should be close to zero, and similarly if MAX is negative it should be close to zero.

Package

alexandria.0.dev

Source

numbers.lisp (file)

Function: hash-table-alist TABLE

Returns an association list containing the keys and values of hash table TABLE.

Package

alexandria.0.dev

Source

hash-tables.lisp (file)

Function: hash-table-keys TABLE

Returns a list containing the keys of hash table TABLE.

Package

alexandria.0.dev

Source

hash-tables.lisp (file)

Function: hash-table-plist TABLE

Returns a property list containing the keys and values of hash table TABLE.

Package

alexandria.0.dev

Source

hash-tables.lisp (file)

Function: hash-table-values TABLE

Returns a list containing the values of hash table TABLE.

Package

alexandria.0.dev

Source

hash-tables.lisp (file)

Function: iota N &key START STEP

Return a list of n numbers, starting from START (with numeric contagion from STEP applied), each consequtive number being the sum of the previous one and STEP. START defaults to 0 and STEP to 1.

Examples:

(iota 4) => (0 1 2 3)
(iota 3 :start 1 :step 1.0) => (1.0 2.0 3.0)
(iota 3 :start -1 :step -1/2) => (-1 -3/2 -2)

Package

alexandria.0.dev

Source

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

alexandria.0.dev

Source

sequences.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, or if OBJECT cannot be stored in SEQUENCE.

Package

alexandria.0.dev

Source

sequences.lisp (file)

Reader

last-elt (function)

Function: lastcar LIST

Returns the last element of LIST. Signals a type-error if LIST is not a proper list.

Package

alexandria.0.dev

Source

lists.lisp (file)

Writer

(setf lastcar) (function)

Function: (setf lastcar) OBJECT LIST

Sets the last element of LIST. Signals a type-error if LIST is not a proper list.

Package

alexandria.0.dev

Source

lists.lisp (file)

Reader

lastcar (function)

Function: length= &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

alexandria.0.dev

Source

sequences.lisp (file)

Function: lerp V A B

Returns the result of linear interpolation between A and B, using the interpolation coefficient V.

Package

alexandria.0.dev

Source

numbers.lisp (file)

Function: make-circular-list LENGTH &key INITIAL-ELEMENT

Creates a circular list of LENGTH with the given INITIAL-ELEMENT.

Package

alexandria.0.dev

Source

lists.lisp (file)

Function: make-gensym NAME

If NAME is a non-negative integer, calls GENSYM using it. Otherwise NAME must be a string designator, in which case calls GENSYM using the designated string as the argument.

Package

alexandria.0.dev

Source

symbols.lisp (file)

Function: make-gensym-list LENGTH &optional X

Returns a list of LENGTH gensyms, each generated as if with a call to MAKE-GENSYM, using the second (optional, defaulting to "G") argument.

Package

alexandria.0.dev

Source

symbols.lisp (file)

Function: make-keyword NAME

Interns the string designated by NAME in the KEYWORD package.

Package

alexandria.0.dev

Source

symbols.lisp (file)

Function: map-combinations FUNCTION SEQUENCE &key START END LENGTH COPY

Calls FUNCTION with each combination of LENGTH constructable from the elements of the subsequence of SEQUENCE delimited by START and END. START defaults to 0, END to length of SEQUENCE, and LENGTH to the length of the delimited subsequence. (So unless LENGTH is specified there is only a single combination, which has the same elements as the delimited subsequence.) If COPY is true (the default) each combination is freshly allocated. If COPY is false all combinations are EQ to each other, in which case consequences are specified if a combination is modified by FUNCTION.

Package

alexandria.0.dev

Source

sequences.lisp (file)

Function: map-derangements FUNCTION SEQUENCE &key START END COPY

Calls FUNCTION with each derangement of the subsequence of SEQUENCE denoted by the bounding index designators START and END. Derangement is a permutation of the sequence where no element remains in place. SEQUENCE is not modified, but individual derangements are EQ to each other. Consequences are unspecified if calling FUNCTION modifies either the derangement or SEQUENCE.

Package

alexandria.0.dev

Source

sequences.lisp (file)

Function: map-iota FUNCTION N &key START STEP

Calls FUNCTION with N numbers, starting from START (with numeric contagion from STEP applied), each consequtive number being the sum of the previous one and STEP. START defaults to 0 and STEP to 1. Returns N.

Examples:

(map-iota #’print 3 :start 1 :step 1.0) => 3
;;; 1.0
;;; 2.0
;;; 3.0

Package

alexandria.0.dev

Source

numbers.lisp (file)

Function: map-permutations FUNCTION SEQUENCE &key START END LENGTH COPY

Calls function with each permutation of LENGTH constructable from the subsequence of SEQUENCE delimited by START and END. START defaults to 0, END to length of the sequence, and LENGTH to the length of the delimited subsequence.

Package

alexandria.0.dev

Source

sequences.lisp (file)

Function: map-product FUNCTION LIST &rest MORE-LISTS

Returns a list containing the results of calling FUNCTION with one argument from LIST, and one from each of MORE-LISTS for each combination of arguments. In other words, returns the product of LIST and MORE-LISTS using FUNCTION.

Example:

(map-product ’list ’(1 2) ’(3 4) ’(5 6))
=> ((1 3 5) (1 3 6) (1 4 5) (1 4 6)
(2 3 5) (2 3 6) (2 4 5) (2 4 6))

Package

alexandria.0.dev

Source

lists.lisp (file)

Function: maphash-keys FUNCTION TABLE

Like MAPHASH, but calls FUNCTION with each key in the hash table TABLE.

Package

alexandria.0.dev

Source

hash-tables.lisp (file)

Function: maphash-values FUNCTION TABLE

Like MAPHASH, but calls FUNCTION with each value in the hash table TABLE.

Package

alexandria.0.dev

Source

hash-tables.lisp (file)

Function: mappend FUNCTION &rest LISTS

Applies FUNCTION to respective element(s) of each LIST, appending all the all the result list to a single list. FUNCTION must return a list.

Package

alexandria.0.dev

Source

lists.lisp (file)

Function: mean SAMPLE

Returns the mean of SAMPLE. SAMPLE must be a sequence of numbers.

Package

alexandria.0.dev

Source

numbers.lisp (file)

Function: median SAMPLE

Returns median of SAMPLE. SAMPLE must be a sequence of real numbers.

Package

alexandria.0.dev

Source

numbers.lisp (file)

Function: multiple-value-compose FUNCTION &rest MORE-FUNCTIONS

Returns a function composed of FUNCTION and MORE-FUNCTIONS that applies its arguments to each in turn, starting from the rightmost of MORE-FUNCTIONS, and then calling the next one with all the return values of the last.

Package

alexandria.0.dev

Source

functions.lisp (file)

Function: negative-double-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: negative-fixnum-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: negative-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: negative-integer-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: negative-long-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: negative-rational-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: negative-real-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: negative-short-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: negative-single-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: non-negative-double-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: non-negative-fixnum-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: non-negative-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: non-negative-integer-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: non-negative-long-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: non-negative-rational-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: non-negative-real-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: non-negative-short-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: non-negative-single-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: non-positive-double-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: non-positive-fixnum-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: non-positive-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: non-positive-integer-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: non-positive-long-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: non-positive-rational-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: non-positive-real-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: non-positive-short-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: non-positive-single-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: of-type TYPE

Returns a function of one argument, which returns true when its argument is of TYPE.

Package

alexandria.0.dev

Source

types.lisp (file)

Function: parse-body BODY &key DOCUMENTATION WHOLE

Parses BODY into (values remaining-forms declarations doc-string). Documentation strings are recognized only if DOCUMENTATION is true. Syntax errors in body are signalled and WHOLE is used in the signal arguments when given.

Package

alexandria.0.dev

Source

macros.lisp (file)

Function: parse-ordinary-lambda-list LAMBDA-LIST &key NORMALIZE ALLOW-SPECIALIZERS NORMALIZE-OPTIONAL NORMALIZE-KEYWORD NORMALIZE-AUXILARY

Parses an ordinary lambda-list, returning as multiple values:

1. Required parameters.

2. Optional parameter specifications, normalized into form:

(name init suppliedp)

3. Name of the rest parameter, or NIL.

4. Keyword parameter specifications, normalized into form:

((keyword-name name) init suppliedp)

5. Boolean indicating &ALLOW-OTHER-KEYS presence.

6. &AUX parameter specifications, normalized into form

(name init).

7. Existence of &KEY in the lambda-list.

Signals a PROGRAM-ERROR is the lambda-list is malformed.

Package

alexandria.0.dev

Source

macros.lisp (file)

Function: plist-alist PLIST

Returns an association list containing the same keys and values as the property list PLIST in the same order.

Package

alexandria.0.dev

Source

lists.lisp (file)

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

Returns a hash table containing the keys and values of the property list PLIST. Hash table is initialized using the HASH-TABLE-INITARGS.

Package

alexandria.0.dev

Source

hash-tables.lisp (file)

Function: positive-double-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: positive-fixnum-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: positive-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: positive-integer-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: positive-long-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: positive-rational-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: positive-real-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: positive-short-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: positive-single-float-p N
Package

alexandria.0.dev

Source

types.lisp (file)

Function: proper-list-length LIST

Returns length of LIST, signalling an error if it is not a proper list.

Package

alexandria.0.dev

Source

lists.lisp (file)

Function: proper-list-p OBJECT

Returns true if OBJECT is a proper list.

Package

alexandria.0.dev

Source

lists.lisp (file)

Function: random-elt SEQUENCE &key START END

Returns a random element from SEQUENCE bounded by START and END. Signals an error if the SEQUENCE is not a proper non-empty sequence, or if END and START are not proper bounding index designators for SEQUENCE.

Package

alexandria.0.dev

Source

sequences.lisp (file)

Function: rassoc-value ALIST KEY &key TEST

RASSOC-VALUE is an alist accessor very much like RASSOC, but it can be used with SETF.

Package

alexandria.0.dev

Source

lists.lisp (file)

Setf Expander

(setf rassoc-value) (setf expander)

Setf Expander: (setf rassoc-value) PLACE KEY &key TEST
Package

alexandria.0.dev

Source

lists.lisp (file)

Reader

rassoc-value (function)

Function: rcurry FUNCTION &rest ARGUMENTS

Returns a function that applies the arguments it is called with and ARGUMENTS to FUNCTION.

Package

alexandria.0.dev

Source

functions.lisp (file)

Function: read-file-into-byte-vector PATHNAME

Read PATHNAME into a freshly allocated (unsigned-byte 8) vector.

Package

alexandria.0.dev

Source

io.lisp (file)

Function: read-file-into-string PATHNAME &key BUFFER-SIZE EXTERNAL-FORMAT

Return the contents of the file denoted by PATHNAME as a fresh string.

The EXTERNAL-FORMAT parameter will be passed directly to WITH-OPEN-FILE unless it’s NIL, which means the system default.

Package

alexandria.0.dev

Source

io.lisp (file)

Function: read-stream-content-into-byte-vector STREAM &key (%LENGTH LENGTH) INITIAL-SIZE

Return "content" of STREAM as freshly allocated (unsigned-byte 8) vector.

Package

alexandria.0.dev

Source

io.lisp (file)

Function: read-stream-content-into-string STREAM &key BUFFER-SIZE

Return the "content" of STREAM as a fresh string.

Package

alexandria.0.dev

Source

io.lisp (file)

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

alexandria.0.dev

Source

lists.lisp (file)

Function: required-argument &optional NAME

Signals an error for a missing argument of NAME. Intended for use as an initialization form for structure and class-slots, and a default value for required keyword arguments.

Package

alexandria.0.dev

Source

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

alexandria.0.dev

Source

sequences.lisp (file)

Function: sequence-of-length-p SEQUENCE LENGTH

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

Package

alexandria.0.dev

Source

sequences.lisp (file)

Function: set-equal LIST1 LIST2 &key TEST KEY

Returns 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

alexandria.0.dev

Source

lists.lisp (file)

Function: setp OBJECT &key TEST KEY

Returns true if OBJECT is a list that denotes a set, NIL otherwise. A list denotes a set if each element of the list is unique under KEY and TEST.

Package

alexandria.0.dev

Source

lists.lisp (file)

Function: shuffle SEQUENCE &key START END

Returns a random permutation of SEQUENCE bounded by START and END. Original sequece may be destructively modified, and share storage with the original one. Signals an error if SEQUENCE is not a proper sequence.

Package

alexandria.0.dev

Source

sequences.lisp (file)

Function: simple-parse-error MESSAGE &rest ARGS
Package

alexandria.0.dev

Source

conditions.lisp (file)

Function: simple-program-error MESSAGE &rest ARGS
Package

alexandria.0.dev

Source

conditions.lisp (file)

Function: simple-reader-error STREAM MESSAGE &rest ARGS
Package

alexandria.0.dev

Source

conditions.lisp (file)

Function: simple-style-warning MESSAGE &rest ARGS
Package

alexandria.0.dev

Source

conditions.lisp (file)

Function: standard-deviation SAMPLE &key BIASED

Standard deviation of SAMPLE. Returns the biased standard deviation if BIASED is true (the default), and the square root of the unbiased estimator for variance if BIASED is false (which is not the same as the unbiased estimator for standard deviation). SAMPLE must be a sequence of numbers.

Package

alexandria.0.dev

Source

numbers.lisp (file)

Function: starts-with OBJECT SEQUENCE &key TEST KEY

Returns true if SEQUENCE is a sequence whose first element is EQL to OBJECT. Returns NIL if the SEQUENCE is not a sequence or is an empty sequence.

Package

alexandria.0.dev

Source

sequences.lisp (file)

Function: starts-with-subseq PREFIX SEQUENCE &rest ARGS &key RETURN-SUFFIX &allow-other-keys

Test whether the first elements of SEQUENCE are the same (as per TEST) as the elements of PREFIX.

If RETURN-SUFFIX is T the function returns, as a second value, a
sub-sequence or displaced array pointing to the sequence after PREFIX.

Package

alexandria.0.dev

Source

sequences.lisp (file)

Function: subfactorial N

Subfactorial of the non-negative integer N.

Package

alexandria.0.dev

Source

numbers.lisp (file)

Function: symbolicate &rest THINGS

Concatenate together the names of some strings and symbols, producing a symbol in the current package.

Package

alexandria.0.dev

Source

symbols.lisp (file)

Function: type= TYPE1 TYPE2

Returns a primary value of T is TYPE1 and TYPE2 are the same type,
and a secondary value that is true is the type equality could be reliably determined: primary value of NIL and secondary value of T indicates that the types are not equivalent.

Package

alexandria.0.dev

Source

types.lisp (file)

Function: variance SAMPLE &key BIASED

Variance of SAMPLE. Returns the biased variance if BIASED is true (the default), and the unbiased estimator of variance if BIASED is false. SAMPLE must be a sequence of numbers.

Package

alexandria.0.dev

Source

numbers.lisp (file)

Function: write-byte-vector-into-file BYTES PATHNAME &key IF-EXISTS IF-DOES-NOT-EXIST

Write BYTES to PATHNAME.

Package

alexandria.0.dev

Source

io.lisp (file)

Function: write-string-into-file STRING PATHNAME &key IF-EXISTS IF-DOES-NOT-EXIST EXTERNAL-FORMAT

Write STRING to PATHNAME.

The EXTERNAL-FORMAT parameter will be passed directly to WITH-OPEN-FILE unless it’s NIL, which means the system default.

Package

alexandria.0.dev

Source

io.lisp (file)


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

5.1.4 Generic functions

Generic Function: emptyp SEQUENCE

Returns T if SEQUENCE is an empty sequence and NIL otherwise. Signals an error if SEQUENCE is not a sequence.

Package

alexandria.0.dev

Source

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

Methods
Method: emptyp (S list)
Method: emptyp (S vector)
Method: emptyp (S sequence)

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

5.1.5 Conditions

Condition: simple-parse-error ()
Package

alexandria.0.dev

Source

conditions.lisp (file)

Direct superclasses
  • parse-error (condition)
  • simple-error (condition)
Condition: simple-program-error ()
Package

alexandria.0.dev

Source

conditions.lisp (file)

Direct superclasses
  • program-error (condition)
  • simple-error (condition)
Condition: simple-reader-error ()
Package

alexandria.0.dev

Source

conditions.lisp (file)

Direct superclasses

simple-reader-error (condition)

Condition: simple-style-warning ()
Package

alexandria.0.dev

Source

conditions.lisp (file)

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

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

5.1.6 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 one less than ARRAY-DIMENSION-LIMIT.

Package

alexandria.0.dev

Source

types.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 one less than ARRAY-DIMENSION-LIMIT.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: circular-list ()

Type designator for circular lists. Implemented as a SATISFIES type, so not recommended for performance intensive use. Main usefullness as the expected-type designator of a TYPE-ERROR.

Package

alexandria.0.dev

Source

lists.lisp (file)

Type: negative-double-float ()

Type specifier denoting the double-float range from -inf to 0.0d0.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: negative-fixnum ()

Type specifier denoting the fixnum range from MOST-NEGATIVE-FIXNUM to -1.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: negative-float ()

Type specifier denoting the float range from -inf to 0.0.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: negative-integer ()

Type specifier denoting the integer range from -inf to -1.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: negative-long-float ()

Type specifier denoting the long-float range from -inf to 0.0d0.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: negative-rational ()

Type specifier denoting the rational range from -inf to 0.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: negative-real ()

Type specifier denoting the real range from -inf to 0.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: negative-short-float ()

Type specifier denoting the short-float range from -inf to 0.0.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: negative-single-float ()

Type specifier denoting the single-float range from -inf to 0.0.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: non-negative-double-float ()

Type specifier denoting the double-float range from 0.0d0 to +inf.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: non-negative-fixnum ()

Type specifier denoting the fixnum range from 0 to MOST-POSITIVE-FIXNUM.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: non-negative-float ()

Type specifier denoting the float range from 0.0 to +inf.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: non-negative-integer ()

Type specifier denoting the integer range from 0 to +inf.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: non-negative-long-float ()

Type specifier denoting the long-float range from 0.0d0 to +inf.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: non-negative-rational ()

Type specifier denoting the rational range from 0 to +inf.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: non-negative-real ()

Type specifier denoting the real range from 0 to +inf.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: non-negative-short-float ()

Type specifier denoting the short-float range from 0.0 to +inf.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: non-negative-single-float ()

Type specifier denoting the single-float range from 0.0 to +inf.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: non-positive-double-float ()

Type specifier denoting the double-float range from -inf to 0.0d0.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: non-positive-fixnum ()

Type specifier denoting the fixnum range from MOST-NEGATIVE-FIXNUM to 0.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: non-positive-float ()

Type specifier denoting the float range from -inf to 0.0.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: non-positive-integer ()

Type specifier denoting the integer range from -inf to 0.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: non-positive-long-float ()

Type specifier denoting the long-float range from -inf to 0.0d0.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: non-positive-rational ()

Type specifier denoting the rational range from -inf to 0.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: non-positive-real ()

Type specifier denoting the real range from -inf to 0.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: non-positive-short-float ()

Type specifier denoting the short-float range from -inf to 0.0.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: non-positive-single-float ()

Type specifier denoting the single-float range from -inf to 0.0.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: positive-double-float ()

Type specifier denoting the double-float range from 0.0d0 to +inf.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: positive-fixnum ()

Type specifier denoting the fixnum range from 1 to MOST-POSITIVE-FIXNUM.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: positive-float ()

Type specifier denoting the float range from 0.0 to +inf.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: positive-integer ()

Type specifier denoting the integer range from 1 to +inf.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: positive-long-float ()

Type specifier denoting the long-float range from 0.0d0 to +inf.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: positive-rational ()

Type specifier denoting the rational range from 0 to +inf.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: positive-real ()

Type specifier denoting the real range from 0 to +inf.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: positive-short-float ()

Type specifier denoting the short-float range from 0.0 to +inf.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: positive-single-float ()

Type specifier denoting the single-float range from 0.0 to +inf.

Package

alexandria.0.dev

Source

types.lisp (file)

Type: proper-list ()

Type designator for proper lists. Implemented as a SATISFIES type, hence not recommended for performance intensive use. Main usefullness as a type designator of the expected type in a TYPE-ERROR.

Package

alexandria.0.dev

Source

lists.lisp (file)

Type: proper-sequence ()

Type designator for proper sequences, that is proper lists and sequences that are not lists.

Package

alexandria.0.dev

Source

sequences.lisp (file)

Type: string-designator ()

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

Package

alexandria.0.dev

Source

strings.lisp (file)


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

5.2 Internal definitions


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

5.2.1 Constants

Constant: +factorial-bisection-range-limit+
Package

alexandria.0.dev

Source

numbers.lisp (file)

Constant: +factorial-direct-multiplication-limit+
Package

alexandria.0.dev

Source

numbers.lisp (file)


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

5.2.2 Macros

Macro: ensure-functionf/1 PLACE
Package

alexandria.0.dev

Source

functions.lisp (file)

Macro: with-open-file* (STREAM FILESPEC &key DIRECTION ELEMENT-TYPE IF-EXISTS IF-DOES-NOT-EXIST EXTERNAL-FORMAT) &body BODY

Just like WITH-OPEN-FILE, but NIL values in the keyword arguments mean to use the default value specified for OPEN.

Package

alexandria.0.dev

Source

io.lisp (file)


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

5.2.3 Functions

Function: %factorial N
Package

alexandria.0.dev

Source

numbers.lisp (file)

Function: %multiply-range I J
Package

alexandria.0.dev

Source

numbers.lisp (file)

Function: %reevaluate-constant NAME VALUE TEST
Package

alexandria.0.dev

Source

definitions.lisp (file)

Function: circular-list-error LIST
Package

alexandria.0.dev

Source

lists.lisp (file)

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

alexandria.0.dev

Source

sequences.lisp (file)

Function: expand-destructuring-case KEY CLAUSES CASE
Package

alexandria.0.dev

Source

macros.lisp (file)

Function: extract-function-name SPEC

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

Package

alexandria.0.dev

Source

control-flow.lisp (file)

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

alexandria.0.dev

Source

control-flow.lisp (file)

Function: malformed-plist PLIST
Package

alexandria.0.dev

Source

lists.lisp (file)

Function: maybe-intern NAME PACKAGE
Package

alexandria.0.dev

Source

symbols.lisp (file)

Function: racons KEY VALUE RALIST
Package

alexandria.0.dev

Source

lists.lisp (file)

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

alexandria.0.dev

Source

sequences.lisp (file)

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

alexandria.0.dev

Source

sequences.lisp (file)

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

alexandria.0.dev

Source

sequences.lisp (file)

Function: safe-endp X
Package

alexandria.0.dev

Source

lists.lisp (file)

Function: sans PLIST &rest KEYS

Alias of REMOVE-FROM-PLIST for backward compatibility.

Package

alexandria.0.dev

Source

lists.lisp (file)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   A   F   L   O  
Index Entry  Section

A
alexandria.asd: The alexandria<dot>asd file
alexandria/arrays.lisp: The alexandria/arrays<dot>lisp file
alexandria/binding.lisp: The alexandria/binding<dot>lisp file
alexandria/conditions.lisp: The alexandria/conditions<dot>lisp file
alexandria/control-flow.lisp: The alexandria/control-flow<dot>lisp file
alexandria/definitions.lisp: The alexandria/definitions<dot>lisp file
alexandria/features.lisp: The alexandria/features<dot>lisp file
alexandria/functions.lisp: The alexandria/functions<dot>lisp file
alexandria/hash-tables.lisp: The alexandria/hash-tables<dot>lisp file
alexandria/io.lisp: The alexandria/io<dot>lisp file
alexandria/LICENCE: The alexandria/licence file
alexandria/lists.lisp: The alexandria/lists<dot>lisp file
alexandria/macros.lisp: The alexandria/macros<dot>lisp file
alexandria/numbers.lisp: The alexandria/numbers<dot>lisp file
alexandria/package.lisp: The alexandria/package<dot>lisp file
alexandria/sequences.lisp: The alexandria/sequences<dot>lisp file
alexandria/strings.lisp: The alexandria/strings<dot>lisp file
alexandria/symbols.lisp: The alexandria/symbols<dot>lisp file
alexandria/tests.lisp: The alexandria/tests<dot>lisp file
alexandria/types.lisp: The alexandria/types<dot>lisp file

F
File, Lisp, alexandria.asd: The alexandria<dot>asd file
File, Lisp, alexandria/arrays.lisp: The alexandria/arrays<dot>lisp file
File, Lisp, alexandria/binding.lisp: The alexandria/binding<dot>lisp file
File, Lisp, alexandria/conditions.lisp: The alexandria/conditions<dot>lisp file
File, Lisp, alexandria/control-flow.lisp: The alexandria/control-flow<dot>lisp file
File, Lisp, alexandria/definitions.lisp: The alexandria/definitions<dot>lisp file
File, Lisp, alexandria/features.lisp: The alexandria/features<dot>lisp file
File, Lisp, alexandria/functions.lisp: The alexandria/functions<dot>lisp file
File, Lisp, alexandria/hash-tables.lisp: The alexandria/hash-tables<dot>lisp file
File, Lisp, alexandria/io.lisp: The alexandria/io<dot>lisp file
File, Lisp, alexandria/lists.lisp: The alexandria/lists<dot>lisp file
File, Lisp, alexandria/macros.lisp: The alexandria/macros<dot>lisp file
File, Lisp, alexandria/numbers.lisp: The alexandria/numbers<dot>lisp file
File, Lisp, alexandria/package.lisp: The alexandria/package<dot>lisp file
File, Lisp, alexandria/sequences.lisp: The alexandria/sequences<dot>lisp file
File, Lisp, alexandria/strings.lisp: The alexandria/strings<dot>lisp file
File, Lisp, alexandria/symbols.lisp: The alexandria/symbols<dot>lisp file
File, Lisp, alexandria/types.lisp: The alexandria/types<dot>lisp file
File, other, alexandria/LICENCE: The alexandria/licence file
File, other, alexandria/tests.lisp: The alexandria/tests<dot>lisp file

L
Lisp File, alexandria.asd: The alexandria<dot>asd file
Lisp File, alexandria/arrays.lisp: The alexandria/arrays<dot>lisp file
Lisp File, alexandria/binding.lisp: The alexandria/binding<dot>lisp file
Lisp File, alexandria/conditions.lisp: The alexandria/conditions<dot>lisp file
Lisp File, alexandria/control-flow.lisp: The alexandria/control-flow<dot>lisp file
Lisp File, alexandria/definitions.lisp: The alexandria/definitions<dot>lisp file
Lisp File, alexandria/features.lisp: The alexandria/features<dot>lisp file
Lisp File, alexandria/functions.lisp: The alexandria/functions<dot>lisp file
Lisp File, alexandria/hash-tables.lisp: The alexandria/hash-tables<dot>lisp file
Lisp File, alexandria/io.lisp: The alexandria/io<dot>lisp file
Lisp File, alexandria/lists.lisp: The alexandria/lists<dot>lisp file
Lisp File, alexandria/macros.lisp: The alexandria/macros<dot>lisp file
Lisp File, alexandria/numbers.lisp: The alexandria/numbers<dot>lisp file
Lisp File, alexandria/package.lisp: The alexandria/package<dot>lisp file
Lisp File, alexandria/sequences.lisp: The alexandria/sequences<dot>lisp file
Lisp File, alexandria/strings.lisp: The alexandria/strings<dot>lisp file
Lisp File, alexandria/symbols.lisp: The alexandria/symbols<dot>lisp file
Lisp File, alexandria/types.lisp: The alexandria/types<dot>lisp file

O
Other File, alexandria/LICENCE: The alexandria/licence file
Other File, alexandria/tests.lisp: The alexandria/tests<dot>lisp file

Jump to:   A   F   L   O  

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

A.2 Functions

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

%
%factorial: Internal functions
%multiply-range: Internal functions
%reevaluate-constant: Internal functions

(
(setf assoc-value): Exported functions
(setf first-elt): Exported functions
(setf last-elt): Exported functions
(setf lastcar): Exported functions
(setf rassoc-value): Exported functions

A
alist-hash-table: Exported functions
alist-plist: Exported functions
appendf: Exported macros
assoc-value: Exported functions

B
binomial-coefficient: Exported functions

C
circular-list: Exported functions
circular-list-error: Internal functions
circular-list-p: Exported functions
circular-tree-p: Exported functions
clamp: Exported functions
coercef: Exported macros
Compiler Macro, compose: Exported compiler macros
Compiler Macro, curry: Exported compiler macros
Compiler Macro, emptyp: Exported compiler macros
Compiler Macro, length=: Exported compiler macros
Compiler Macro, multiple-value-compose: Exported compiler macros
Compiler Macro, of-type: Exported compiler macros
Compiler Macro, rcurry: Exported compiler macros
compose: Exported compiler macros
compose: Exported functions
conjoin: Exported functions
copy-array: Exported functions
copy-file: Exported functions
copy-hash-table: Exported functions
copy-sequence: Exported functions
copy-stream: Exported functions
count-permutations: Exported functions
cswitch: Exported macros
curry: Exported compiler macros
curry: Exported functions

D
define-constant: Exported macros
delete-from-plist: Exported functions
delete-from-plistf: Exported macros
delete/swapped-arguments: Internal functions
deletef: Exported macros
destructuring-case: Exported macros
destructuring-ccase: Exported macros
destructuring-ecase: Exported macros
disjoin: Exported functions
doplist: Exported macros

E
emptyp: Exported compiler macros
emptyp: Exported generic functions
emptyp: Exported generic functions
emptyp: Exported generic functions
emptyp: Exported generic functions
ends-with: Exported functions
ends-with-subseq: Exported functions
ensure-car: Exported functions
ensure-cons: Exported functions
ensure-function: Exported functions
ensure-functionf: Exported macros
ensure-functionf/1: Internal macros
ensure-gethash: Exported macros
ensure-list: Exported functions
ensure-symbol: Exported functions
eswitch: Exported macros
expand-destructuring-case: Internal functions
extract-function-name: Internal functions
extremum: Exported functions

F
factorial: Exported functions
featurep: Exported functions
first-elt: Exported functions
flatten: Exported functions
format-symbol: Exported functions
Function, %factorial: Internal functions
Function, %multiply-range: Internal functions
Function, %reevaluate-constant: Internal functions
Function, (setf first-elt): Exported functions
Function, (setf last-elt): Exported functions
Function, (setf lastcar): Exported functions
Function, alist-hash-table: Exported functions
Function, alist-plist: Exported functions
Function, assoc-value: Exported functions
Function, binomial-coefficient: Exported functions
Function, circular-list: Exported functions
Function, circular-list-error: Internal functions
Function, circular-list-p: Exported functions
Function, circular-tree-p: Exported functions
Function, clamp: Exported functions
Function, compose: Exported functions
Function, conjoin: Exported functions
Function, copy-array: Exported functions
Function, copy-file: Exported functions
Function, copy-hash-table: Exported functions
Function, copy-sequence: Exported functions
Function, copy-stream: Exported functions
Function, count-permutations: Exported functions
Function, curry: Exported functions
Function, delete-from-plist: Exported functions
Function, delete/swapped-arguments: Internal functions
Function, disjoin: Exported functions
Function, ends-with: Exported functions
Function, ends-with-subseq: Exported functions
Function, ensure-car: Exported functions
Function, ensure-cons: Exported functions
Function, ensure-function: Exported functions
Function, ensure-list: Exported functions
Function, ensure-symbol: Exported functions
Function, expand-destructuring-case: Internal functions
Function, extract-function-name: Internal functions
Function, extremum: Exported functions
Function, factorial: Exported functions
Function, featurep: Exported functions
Function, first-elt: Exported functions
Function, flatten: Exported functions
Function, format-symbol: Exported functions
Function, gaussian-random: Exported functions
Function, generate-switch-body: Internal functions
Function, hash-table-alist: Exported functions
Function, hash-table-keys: Exported functions
Function, hash-table-plist: Exported functions
Function, hash-table-values: Exported functions
Function, iota: Exported functions
Function, last-elt: Exported functions
Function, lastcar: Exported functions
Function, length=: Exported functions
Function, lerp: Exported functions
Function, make-circular-list: Exported functions
Function, make-gensym: Exported functions
Function, make-gensym-list: Exported functions
Function, make-keyword: Exported functions
Function, malformed-plist: Internal functions
Function, map-combinations: Exported functions
Function, map-derangements: Exported functions
Function, map-iota: Exported functions
Function, map-permutations: Exported functions
Function, map-product: Exported functions
Function, maphash-keys: Exported functions
Function, maphash-values: Exported functions
Function, mappend: Exported functions
Function, maybe-intern: Internal functions
Function, mean: Exported functions
Function, median: Exported functions
Function, multiple-value-compose: Exported functions
Function, negative-double-float-p: Exported functions
Function, negative-fixnum-p: Exported functions
Function, negative-float-p: Exported functions
Function, negative-integer-p: Exported functions
Function, negative-long-float-p: Exported functions
Function, negative-rational-p: Exported functions
Function, negative-real-p: Exported functions
Function, negative-short-float-p: Exported functions
Function, negative-single-float-p: Exported functions
Function, non-negative-double-float-p: Exported functions
Function, non-negative-fixnum-p: Exported functions
Function, non-negative-float-p: Exported functions
Function, non-negative-integer-p: Exported functions
Function, non-negative-long-float-p: Exported functions
Function, non-negative-rational-p: Exported functions
Function, non-negative-real-p: Exported functions
Function, non-negative-short-float-p: Exported functions
Function, non-negative-single-float-p: Exported functions
Function, non-positive-double-float-p: Exported functions
Function, non-positive-fixnum-p: Exported functions
Function, non-positive-float-p: Exported functions
Function, non-positive-integer-p: Exported functions
Function, non-positive-long-float-p: Exported functions
Function, non-positive-rational-p: Exported functions
Function, non-positive-real-p: Exported functions
Function, non-positive-short-float-p: Exported functions
Function, non-positive-single-float-p: Exported functions
Function, of-type: Exported functions
Function, parse-body: Exported functions
Function, parse-ordinary-lambda-list: Exported functions
Function, plist-alist: Exported functions
Function, plist-hash-table: Exported functions
Function, positive-double-float-p: Exported functions
Function, positive-fixnum-p: Exported functions
Function, positive-float-p: Exported functions
Function, positive-integer-p: Exported functions
Function, positive-long-float-p: Exported functions
Function, positive-rational-p: Exported functions
Function, positive-real-p: Exported functions
Function, positive-short-float-p: Exported functions
Function, positive-single-float-p: Exported functions
Function, proper-list-length: Exported functions
Function, proper-list-p: Exported functions
Function, racons: Internal functions
Function, random-elt: Exported functions
Function, rassoc-value: Exported functions
Function, rcurry: Exported functions
Function, read-file-into-byte-vector: Exported functions
Function, read-file-into-string: Exported functions
Function, read-stream-content-into-byte-vector: Exported functions
Function, read-stream-content-into-string: Exported functions
Function, remove-from-plist: Exported functions
Function, remove/swapped-arguments: Internal functions
Function, required-argument: Exported functions
Function, rotate: Exported functions
Function, rotate-head-to-tail: Internal functions
Function, rotate-tail-to-head: Internal functions
Function, safe-endp: Internal functions
Function, sans: Internal functions
Function, sequence-of-length-p: Exported functions
Function, set-equal: Exported functions
Function, setp: Exported functions
Function, shuffle: Exported functions
Function, simple-parse-error: Exported functions
Function, simple-program-error: Exported functions
Function, simple-reader-error: Exported functions
Function, simple-style-warning: Exported functions
Function, standard-deviation: Exported functions
Function, starts-with: Exported functions
Function, starts-with-subseq: Exported functions
Function, subfactorial: Exported functions
Function, symbolicate: Exported functions
Function, type=: Exported functions
Function, variance: Exported functions
Function, write-byte-vector-into-file: Exported functions
Function, write-string-into-file: Exported functions

G
gaussian-random: Exported functions
generate-switch-body: Internal functions
Generic Function, emptyp: Exported generic functions

H
hash-table-alist: Exported functions
hash-table-keys: Exported functions
hash-table-plist: Exported functions
hash-table-values: Exported functions

I
if-let: Exported macros
ignore-some-conditions: Exported macros
iota: Exported functions

L
last-elt: Exported functions
lastcar: Exported functions
length=: Exported compiler macros
length=: Exported functions
lerp: Exported functions

M
Macro, appendf: Exported macros
Macro, coercef: Exported macros
Macro, cswitch: Exported macros
Macro, define-constant: Exported macros
Macro, delete-from-plistf: Exported macros
Macro, deletef: Exported macros
Macro, destructuring-case: Exported macros
Macro, destructuring-ccase: Exported macros
Macro, destructuring-ecase: Exported macros
Macro, doplist: Exported macros
Macro, ensure-functionf: Exported macros
Macro, ensure-functionf/1: Internal macros
Macro, ensure-gethash: Exported macros
Macro, eswitch: Exported macros
Macro, if-let: Exported macros
Macro, ignore-some-conditions: Exported macros
Macro, maxf: Exported macros
Macro, minf: Exported macros
Macro, multiple-value-prog2: Exported macros
Macro, named-lambda: Exported macros
Macro, nconcf: Exported macros
Macro, nreversef: Exported macros
Macro, nth-value-or: Exported macros
Macro, nunionf: Exported macros
Macro, once-only: Exported macros
Macro, remove-from-plistf: Exported macros
Macro, removef: Exported macros
Macro, reversef: Exported macros
Macro, switch: Exported macros
Macro, unionf: Exported macros
Macro, unwind-protect-case: Exported macros
Macro, when-let: Exported macros
Macro, when-let*: Exported macros
Macro, whichever: Exported macros
Macro, with-gensyms: Exported macros
Macro, with-input-from-file: Exported macros
Macro, with-open-file*: Internal macros
Macro, with-output-to-file: Exported macros
Macro, with-unique-names: Exported macros
Macro, xor: Exported macros
make-circular-list: Exported functions
make-gensym: Exported functions
make-gensym-list: Exported functions
make-keyword: Exported functions
malformed-plist: Internal functions
map-combinations: Exported functions
map-derangements: Exported functions
map-iota: Exported functions
map-permutations: Exported functions
map-product: Exported functions
maphash-keys: Exported functions
maphash-values: Exported functions
mappend: Exported functions
maxf: Exported macros
maybe-intern: Internal functions
mean: Exported functions
median: Exported functions
Method, emptyp: Exported generic functions
Method, emptyp: Exported generic functions
Method, emptyp: Exported generic functions
minf: Exported macros
multiple-value-compose: Exported compiler macros
multiple-value-compose: Exported functions
multiple-value-prog2: Exported macros

N
named-lambda: Exported macros
nconcf: Exported macros
negative-double-float-p: Exported functions
negative-fixnum-p: Exported functions
negative-float-p: Exported functions
negative-integer-p: Exported functions
negative-long-float-p: Exported functions
negative-rational-p: Exported functions
negative-real-p: Exported functions
negative-short-float-p: Exported functions
negative-single-float-p: Exported functions
non-negative-double-float-p: Exported functions
non-negative-fixnum-p: Exported functions
non-negative-float-p: Exported functions
non-negative-integer-p: Exported functions
non-negative-long-float-p: Exported functions
non-negative-rational-p: Exported functions
non-negative-real-p: Exported functions
non-negative-short-float-p: Exported functions
non-negative-single-float-p: Exported functions
non-positive-double-float-p: Exported functions
non-positive-fixnum-p: Exported functions
non-positive-float-p: Exported functions
non-positive-integer-p: Exported functions
non-positive-long-float-p: Exported functions
non-positive-rational-p: Exported functions
non-positive-real-p: Exported functions
non-positive-short-float-p: Exported functions
non-positive-single-float-p: Exported functions
nreversef: Exported macros
nth-value-or: Exported macros
nunionf: Exported macros

O
of-type: Exported compiler macros
of-type: Exported functions
once-only: Exported macros

P
parse-body: Exported functions
parse-ordinary-lambda-list: Exported functions
plist-alist: Exported functions
plist-hash-table: Exported functions
positive-double-float-p: Exported functions
positive-fixnum-p: Exported functions
positive-float-p: Exported functions
positive-integer-p: Exported functions
positive-long-float-p: Exported functions
positive-rational-p: Exported functions
positive-real-p: Exported functions
positive-short-float-p: Exported functions
positive-single-float-p: Exported functions
proper-list-length: Exported functions
proper-list-p: Exported functions

R
racons: Internal functions
random-elt: Exported functions
rassoc-value: Exported functions
rcurry: Exported compiler macros
rcurry: Exported functions
read-file-into-byte-vector: Exported functions
read-file-into-string: Exported functions
read-stream-content-into-byte-vector: Exported functions
read-stream-content-into-string: Exported functions
remove-from-plist: Exported functions
remove-from-plistf: Exported macros
remove/swapped-arguments: Internal functions
removef: Exported macros
required-argument: Exported functions
reversef: Exported macros
rotate: Exported functions
rotate-head-to-tail: Internal functions
rotate-tail-to-head: Internal functions

S
safe-endp: Internal functions
sans: Internal functions
sequence-of-length-p: Exported functions
set-equal: Exported functions
Setf Expander, (setf assoc-value): Exported functions
Setf Expander, (setf rassoc-value): Exported functions
setp: Exported functions
shuffle: Exported functions
simple-parse-error: Exported functions
simple-program-error: Exported functions
simple-reader-error: Exported functions
simple-style-warning: Exported functions
standard-deviation: Exported functions
starts-with: Exported functions
starts-with-subseq: Exported functions
subfactorial: Exported functions
switch: Exported macros
symbolicate: Exported functions

T
type=: Exported functions

U
unionf: Exported macros
unwind-protect-case: Exported macros

V
variance: Exported functions

W
when-let: Exported macros
when-let*: Exported macros
whichever: Exported macros
with-gensyms: Exported macros
with-input-from-file: Exported macros
with-open-file*: Internal macros
with-output-to-file: Exported macros
with-unique-names: Exported macros
write-byte-vector-into-file: Exported functions
write-string-into-file: Exported functions

X
xor: Exported macros

Jump to:   %   (  
A   B   C   D   E   F   G   H   I   L   M   N   O   P   R   S   T   U   V   W   X  

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

A.3 Variables

Jump to:   +  
C  
Index Entry  Section

+
+factorial-bisection-range-limit+: Internal constants
+factorial-direct-multiplication-limit+: Internal constants

C
Constant, +factorial-bisection-range-limit+: Internal constants
Constant, +factorial-direct-multiplication-limit+: Internal constants

Jump to:   +  
C  

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

A.4 Data types

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

A
alexandria: The alexandria system
alexandria.0.dev: The alexandria<dot>0<dot>dev package
array-index: Exported types
array-length: Exported types

C
circular-list: Exported types
Condition, simple-parse-error: Exported conditions
Condition, simple-program-error: Exported conditions
Condition, simple-reader-error: Exported conditions
Condition, simple-style-warning: Exported conditions

N
negative-double-float: Exported types
negative-fixnum: Exported types
negative-float: Exported types
negative-integer: Exported types
negative-long-float: Exported types
negative-rational: Exported types
negative-real: Exported types
negative-short-float: Exported types
negative-single-float: Exported types
non-negative-double-float: Exported types
non-negative-fixnum: Exported types
non-negative-float: Exported types
non-negative-integer: Exported types
non-negative-long-float: Exported types
non-negative-rational: Exported types
non-negative-real: Exported types
non-negative-short-float: Exported types
non-negative-single-float: Exported types
non-positive-double-float: Exported types
non-positive-fixnum: Exported types
non-positive-float: Exported types
non-positive-integer: Exported types
non-positive-long-float: Exported types
non-positive-rational: Exported types
non-positive-real: Exported types
non-positive-short-float: Exported types
non-positive-single-float: Exported types

P
Package, alexandria.0.dev: The alexandria<dot>0<dot>dev package
positive-double-float: Exported types
positive-fixnum: Exported types
positive-float: Exported types
positive-integer: Exported types
positive-long-float: Exported types
positive-rational: Exported types
positive-real: Exported types
positive-short-float: Exported types
positive-single-float: Exported types
proper-list: Exported types
proper-sequence: Exported types

S
simple-parse-error: Exported conditions
simple-program-error: Exported conditions
simple-reader-error: Exported conditions
simple-style-warning: Exported conditions
string-designator: Exported types
System, alexandria: The alexandria system

T
Type, array-index: Exported types
Type, array-length: Exported types
Type, circular-list: Exported types
Type, negative-double-float: Exported types
Type, negative-fixnum: Exported types
Type, negative-float: Exported types
Type, negative-integer: Exported types
Type, negative-long-float: Exported types
Type, negative-rational: Exported types
Type, negative-real: Exported types
Type, negative-short-float: Exported types
Type, negative-single-float: Exported types
Type, non-negative-double-float: Exported types
Type, non-negative-fixnum: Exported types
Type, non-negative-float: Exported types
Type, non-negative-integer: Exported types
Type, non-negative-long-float: Exported types
Type, non-negative-rational: Exported types
Type, non-negative-real: Exported types
Type, non-negative-short-float: Exported types
Type, non-negative-single-float: Exported types
Type, non-positive-double-float: Exported types
Type, non-positive-fixnum: Exported types
Type, non-positive-float: Exported types
Type, non-positive-integer: Exported types
Type, non-positive-long-float: Exported types
Type, non-positive-rational: Exported types
Type, non-positive-real: Exported types
Type, non-positive-short-float: Exported types
Type, non-positive-single-float: Exported types
Type, positive-double-float: Exported types
Type, positive-fixnum: Exported types
Type, positive-float: Exported types
Type, positive-integer: Exported types
Type, positive-long-float: Exported types
Type, positive-rational: Exported types
Type, positive-real: Exported types
Type, positive-short-float: Exported types
Type, positive-single-float: Exported types
Type, proper-list: Exported types
Type, proper-sequence: Exported types
Type, string-designator: Exported types

Jump to:   A   C   N   P   S   T