6 Functions and Special Forms

Each line here shows a name and then one of the words expr, fexpr or macro. In some cases there can also be special treatment of functions by the compiler so that they get compiled in-line.

abs expr
 
This takes one argument that should be a number – and returns its absolute value. In Common Lisp mode it would find the magnitude of a complex number, but in normal Standard Lisp mode the only cases that arise are integers are floating point values.
binary_close_input expr
 
Not yet written
binary_close_output expr
 
Not yet written
binary_open_input expr
 
Not yet written
binary_open_output expr
 
Not yet written
binary_prin1 expr
 
Not yet written
binary_prin2 expr
 
Not yet written
binary_prin3 expr
 
Not yet written
binary_prinbyte expr
 
Not yet written
binary_princ expr
 
Not yet written
binary_prinfloat expr
 
Not yet written
binary_read2 expr
 
Not yet written
binary_read3 expr
 
Not yet written
binary_read4 expr
 
Not yet written
binary_readbyte expr
 
Not yet written
binary_readfloat expr
 
Not yet written
binary_select_input expr
 
Not yet written
binary_terpri expr
 
Not yet written
bps!-getv expr
 
Not yet written
bps!-putv expr
 
Not yet written
bps!-upbv expr
 
Not yet written
break!-loop expr
 
Not yet written
c_out expr
 
Not yet written
caaaar expr
 
see caar.
caaadr expr
 
see caar.
caaar expr
 
see caar.
caadar expr
 
see caar.
caaddr expr
 
see caar.
caadr expr
 
see caar.
caar …cddddr expr
 
Names that start with c, then have a sequence of a or ds and finally r provide shorthand functions for chains of uses of car and cdr. Thus for instance (cadar x) has the same meaning as (car (cdr (car x))).
cadaar expr
 
see caar.
cadadr expr
 
see caar.
cadar expr
 
see caar.
caddar expr
 
see caar.
cadddr expr
 
see caar and fourth.
caddr expr
 
see caar and third.
cadr expr
 
see caar and second.
car expr
 
For a non-empty list the function car will return the first element. For a dotted pair (created using cons) it extracts the first component. This is the fundamental low-level data structure access function in Lisp. See cdr for the function that returns the tail or a list or the second component of a dotted pair. In CSL any attempt to take car of an atom should be detected and will be treated as an error. If CSL had been compiled in Common Lisp mode (which is now not probable) a special exemption would apply and car and cdr of the empty lisp nil would be nil.
car!* expr
 
This function behaves like car except that if its argument is atomic then the argument is returned unaltered rather than that case being treated as an error.
cdaaar expr
 
see caar.
cdaadr expr
 
see caar.
cdaar expr
 
see caar.
cdadar expr
 
see caar.
cdaddr expr
 
see caar.
cdadr expr
 
see caar.
cdar expr
 
see caar.
cddaar expr
 
see caar.
cddadr expr
 
see caar.
cddar expr
 
see caar.
cdddar expr
 
see caar.
cddddr expr
 
see caar.
cdddr expr
 
see caar.
cddr expr
 
see caar.
cdr expr
 
See car.
char!-code expr
 
Not yet written
char!-downcase expr
 
Not yet written
char!-upcase expr
 
Not yet written
check!-c!-code expr
 
Not yet written
cl!-equal expr
 
Not yet written
close!-library expr
 
Not yet written
code!-char expr
 
Not yet written
compile!-all expr
 
Not yet written
convert!-to!-evector expr
 
Not yet written
copy!-module expr
 
Not yet written
copy!-native expr
 
Not yet written
create!-directory expr
 
Not yet written
dated!-name expr
 
Not yet written
define!-in!-module expr
 
Not yet written
delete!-file expr
 
Not yet written
delete!-module expr
 
Not yet written
do!* macro
 
Not yet written
double!-execute expr
 
Not yet written
enable!-backtrace expr
 
Not yet written
enable!-errorset expr
 
Not yet written
eq!-safe expr
 
Not yet written
eval!-when fexpr
 
Not yet written
file!-length expr
 
Not yet written
file!-readablep expr
 
Not yet written
file!-writeablep expr
 
Not yet written
flagp!*!* expr
 
Not yet written
fp!-evaluate expr
 
Not yet written
funcall!* expr
 
Not yet written
get!* expr
 
Not yet written
get!-current!-directory expr
 
Not yet written
get!-lisp!-directory expr
 
Not yet written
hash!-table!-p expr
 
Not yet written
hashtagged!-name expr
 
Not yet written
input!-libraries fexpr
 
Not yet written
instate!-c!-code expr
 
Not yet written
internal!-open expr
 
Not yet written
is!-console expr
 
Not yet written
let!* fexpr
 
Not yet written
library!-members expr
 
Returns a list of all the modules that could potentially be loaded using load!-module. See list!-modules to get a human readable display that looks more like the result of listing a directory, or modulep for checking the state of a particular named module.
library!-name expr
 
Not yet written
list!* fexpr
 
Not yet written
list!-directory expr
 
Not yet written
list!-modules expr
 
This prints a human-readable display of the modules present in the current image files. This will include “InitialImage” which is the heap-image loaded at system startup. For example
> (list!-modules)  
 
File d:\csl\csl.img (dirsize 8  length 155016, Writable):  
  compat       Sat Jul 26 10:20:08 2008  position 556   size: 9320  
  compiler     Sat Jul 26 10:20:08 2008  position 9880  size: 81088  
  InitialImage Sat Jul 26 10:20:09 2008  position 90972 size: 64040  
 
nil

See library!-members and modulep for functions that make it possible for Lisp code to discover about the loadable modules that are available.

list!-to!-string expr
 
Not yet written
list!-to!-symbol expr
 
Not yet written
list!-to!-vector expr
 
Not yet written
list2!* expr
 
Not yet written
list3!* expr
 
Not yet written
load!-module expr
 
Not yet written
load!-source expr
 
Not yet written
lose!-precision expr
 
Not yet written
macro!-function expr
 
Not yet written
macroexpand!-1 expr
 
Not yet written
make!-bps expr
 
Not yet written
make!-function!-stream expr
 
Not yet written
make!-global expr
 
Not yet written
make!-native expr
 
Not yet written
make!-random!-state expr
 
Not yet written
make!-simple!-string expr
 
Not yet written
make!-special expr
 
Not yet written
math!-display expr
 
Not yet written
member!*!* expr
 
Not yet written
rplaca expr
 
This is a destructive function in that it alters the data structure that it is given as its first argument by updating its car component. The result is the updated object. See rplacd for the corresponding function for updating the cdr component.
rplacd expr
 
See rplaca
!~block fexpr
 
Not yet written
!~let fexpr
 
Not yet written
!~tyi expr
 
Not yet written


Services provided by
SourceForge