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