# R7RS

Revised^7 Report on the Algorithmic Language Scheme. (2013)

## Expressions

### Primitive expression types

quote, ', lambda, if, set!, include, include-ci?

### Derived expression types

delay, delay-force?, force, promise?, make-promise

define-library?

## Standard procedures

### Numbers

number?, complex?, real?, rational?, integer?, exact?, inexact?, exact-integer??, finite?, infinite?, nan?, zero?, positive?, negative?, odd?, even?, max, min, +, *, -, /, abs, floor/?, floor-quotient?, floor-remainder?, truncate/?, truncate-quotient?, truncate-remainder?, quotient, remainder, modulo, gcd, lcm, numerator, denominator, floor, ceiling, truncate, round, rationalize, exp, log, sin, cos, tan, asin, acos, atan, square?, sqrt, exact-integer-sqrt, expt, make-rectangular, make-polar, real-part, imag-part, magnitude, angle, inexact, exact, number->string, string->number

### Pairs and lists

pair?, cons, car, cdr, set-car!, set-cdr!, caar, cadr, cdar, cddr, null?, list?, make-list, list, length, append, reverse, list-tail, list-ref, list-set!?, memq, memv, member, assq, assv, assoc, list-copy

### Vectors

vector?, make-vector, vector, vector-length, vector-ref, vector-set!, vector->list, list->vector, vector->string?, string->vector?, vector-copy, vector-copy!, vector-fill!

### Bytevectors

bytevector??, make-bytevector?, bytevector?, bytevector-length?, bytevector-u8-ref?, bytevector-u8-set!?, bytevector-copy?, bytevector-copy!?, bytevector-append?, utf8->string?, string->utf8?

### Exceptions

with-exception-handler, raise, raise-continuable?, error, error-object??, error-object-irritants?, read-error?, file-error??

### Input and output

call-with-port?, call-with-input-file, call-with-output-file, input-port?, output-port?, textual-port??, binary-port?, port?, input-port-open??, output-port-open??, current-input-port, current-output-port, current-error-port, with-input-from-file, with-output-to-file, open-input-file, open-binary-input-file?, open-output-file, open-binary-output-file?, close-port, close-input-port, close-output-port, open-input-string, open-output-string, get-output-string, open-input-bytevector?, open-output-bytevector?, get-output-bytevector?