Important Lisp Primitives

These are among the most useful primitives in MzScheme, the Scheme dialect implemented in Dr. Scheme. Some of these primitives have different names in other dialects. By convention, symbols ending in "?" are predicate names and symbols containing "->" refer to type conversion operations. Those ending in "!" refer to destructive operations. Symbols italicized below require loading a library before their use.

NUMBERS
+ - * / quotient remainder modulo
abs max min floor truncate ceiling round
number? complex? real? rational? exact? inexact?
add1 sub1 zero? positive? negative? odd? even?
= < > <= >=
sqrt exp log expt gcd lcm random
BOOLEANS AND EQUIVALENCE PREDICATES
#t #f not and or eq? equal?
SEQUENCING, CONTROL, AND BINDING
define set! eval quote if cond else
begin begin0 lambda let let* letrec
PAIRS AND LISTS
car cdr cons c..r null? pair? list?
list append reverse length list-ref last-pair list-tail
member memq assoc assq
set-car! set-cdr! append! reverse!
INPUT, OUTPUT, AND PORTS
open-input-file close-input-port read read-char read-line eof-object? load
open-output-file close-output-port write write-char newline display pretty-print
PROCEDURES
apply map for-each procedure?
CHARACTERS
char? char-upcase char-downcase char->integer integer->char
char-alphabetic? char-numeric? char-whitespace?char-upper-case? char-lower-case?
char=? char<? char>? char<=? char>=?
char-ci=? char-ci<? char-ci>? char-ci<=? char-ci>=?
SYMBOLS AND STRINGS
symbol? gensym putprop getprop symbol->string string->symbol
string? string make-string string-length string-ref string-set! substring
string=? string<? string>? string<=? string>=?
string-ci=? string-ci<? string-ci>? string-ci<=? string-ci>=?
string-append string-copy string-fill! list->string string->list number->string string->number
VECTORS
vector? vector make-vector vector-length vector-ref vector-set!
list->vector vector->list vector-fill!
MISCELLANEOUS
exit error system require lib trace untrace
> trace untrace