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


11 Iteration and Tests

Macro: DO-EXTERNAL-SYMBOLS

Package:LISP

Syntax:

(do-external-symbols (var [package [result-form]])
          {decl}* {tag | statement}*)

Executes STATEMENTs once for each external symbol in the PACKAGE (which defaults to the current package), with VAR bound to the current symbol. Then evaluates RESULT-FORM (which defaults to NIL) and returns the value(s).

Special Form: DO*

Package:LISP

Syntax:

(do* ({(var [init [step]])}*) (endtest {result}*)
          {decl}* {tag | statement}*)

Just like DO, but performs variable bindings and assignments in serial, just like LET* and SETQ do.

Macro: DO-ALL-SYMBOLS

Package:LISP

Syntax:

(do-all-symbols (var [result-form]) {decl}* {tag | statement}*)

Executes STATEMENTs once for each symbol in each package, with VAR bound to the current symbol. Then evaluates RESULT-FORM (which defaults to NIL) and returns the value(s).

Function: YES-OR-NO-P (&optional (format-string nil) &rest args)

Package:LISP

Asks the user a question whose answer is either ’YES’ or ’NO’. If FORMAT- STRING is non-NIL, then FRESH-LINE operation is performed, a message is printed as if FORMAT-STRING and ARGs were given to FORMAT, and then a prompt "(Yes or No)" is printed. Otherwise, no prompt will appear.

Function: MAPHASH #'hash-table

Package:LISP

For each entry in HASH-TABLE, calls FUNCTION on the key and value of the entry; returns NIL.

Function: MAPCAR (fun list &rest more-lists)

Package:LISP

Applies FUN to successive cars of LISTs and returns the results as a list.

Special Form: DOLIST

Package:LISP

Syntax:

(dolist (var listform [result]) {decl}* {tag | statement}*)

Executes STATEMENTs, with VAR bound to each member of the list value of LISTFORM. Then returns the value(s) of RESULT (which defaults to NIL).

Function: EQ (x y)

Package:LISP

Returns T if X and Y are the same identical object; NIL otherwise.

Function: EQUALP (x y)

Package:LISP

Returns T if X and Y are EQUAL, if they are characters and satisfy CHAR-EQUAL, if they are numbers and have the same numerical value, or if they have components that are all EQUALP. Returns NIL otherwise.

Function: EQUAL (x y)

Package:LISP

Returns T if X and Y are EQL or if they are of the same type and corresponding components are EQUAL. Returns NIL otherwise. Strings and bit-vectors are EQUAL if they are the same length and have identical components. Other arrays must be EQ to be EQUAL.

Macro: DO-SYMBOLS

Package:LISP

Syntax:

(do-symbols (var [package [result-form]]) {decl}* {tag |
statement}*)

Executes STATEMENTs once for each symbol in the PACKAGE (which defaults to the current package), with VAR bound to the current symbol. Then evaluates RESULT-FORM (which defaults to NIL) and returns the value(s).

Special Form: LOOP

Package:LISP

Syntax:

(loop {form}*)

Executes FORMs repeatedly until exited by a THROW or RETURN. The FORMs are surrounded by an implicit NIL block.


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