Scheme is a functional programming language in the Lisp family, closely modeled on lambda calculus with eager (applicative-order) evaluation.
Scheme follows a minimalist design philosophy specifying a small standard core with powerful tools for language extension. Its compactness and elegance have made it popular with educators, language designers, programmers, implementors, and hobbyists. The main feature of scheme when compared to common lisp is its hygienic macro system which allows writing macros without variable capture. Scheme also provides continuations as a programming feature, and requires proper tail recursion. The scheme update process is called RnRS where n is the version