Scheme is a tail-recursive and statically scoped dialect of the Lisp programming language. It was built to have uncomplicated semantics and several different ways to form expressions. Multiple programming paradigms, including functional, message, and imperative, find easy expression in Scheme.

Scheme was invented by Guy Lewis Steele Jr. and Gerald Jay Sussman. To learn more about Scheme, take a look at MIT's Scheme page.

Help us explain this better! File a GitHub issue at if you have suggestions, or submit a patch with improvements to the file.

Try It!

If you've downloaded the command-line client and have Scheme installed on your machine, then go ahead and fetch the first problem.

exercism fetch scheme

In order to be able to submit your solution, you'll need to configure the client with your Exercism API key.

exercism configure --key=YOUR_EXERCISM_KEY

When you've written a solution, submit it to the site. You'll have to configure the command-line client with your exercism API key before you can submit.

exercism submit PATH_TO_FILE