Se empleará una de las principales vertientes de Lisp, el lenguaje Scheme. De hecho, Scheme es una familia de lenguajes de programación, donde cada uno de los miembros es similar a los demás, pero también cuentan con diferentes módulos para facilitar o soportar diferentes metodologías, paradigmas o enfoques de programación. Aquí se usará PLT Scheme, un lenguaje muy socorrido en el mundo de la enseñanza de la programación y la investigación de temas relacionados con los lenguajes.
Scheme tiene características que lo convierten en el vehículo perfecto para estudiar construcciones y conceptos fundamentales de la programación. Por ejemplo —y ésta es una característica que comparten Lisp y todos sus descendientes—, las descripciones de procesos que en Scheme se conocen como procedimientos,3 pueden ser tratados como datos.