Table of Contents for Programming Languages: a survey

Scheme and Racket

Because the Lisp family is so well-liked, Racket gets its own chapter (as a representative of Scheme/Lisp).

Descended from Scheme.

Good at:


Tutorials, books, etc:

Respected exemplar code

Racket opinions

(Often opinionated) Comparisons

Scheme fundamental and library forms

From :

Fundamental forms:

Library forms:

Standard forms in R5RS Scheme


Standard procedures in the language R5RS Scheme

from :

numeric procedures

Scheme base library

Quoted and paraphrased from . This list is based off of that link (part of GNU Guile's documentation), but i can't tell if if it meant to be R6RS or R5RS or some mix or something else. For our purposes, it doesn't really matter.

Atomic(ish) data: Strings, characters, symbols, numbers

Symbol and character manipulation


Numbers, arithmetic, and math

Composite data: Lists, vectors, pairs

Lists and vectors





Conditionals, boolean ops, equality, comparison

Control flow, functions, continuations

Exception handling

Type predicates

Metaprogramming: Macros and syntax rules and quoting

Widely-supported Scheme SRFIs

According to (see also , ):