Scheme is a classic programming language in the Lisp family. It emphasizes functional programming and domain-specific languages but adapts to other styles. Known for its clean and minimalist design, Scheme is one of the longest-lived and best-studied dynamic languages, and has many fast and portable implementations.
From the Scheme standard reports:
Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary. Scheme demonstrates that a very small number of rules for forming expressions, with no restrictions on how they are composed, suffice to form a practical and efficient programming language that is flexible enough to support most of the major programming paradigms in use today.
More on Planet Scheme.
Try Scheme | Type Scheme code and run it in your browser |
---|---|
FAQ | Frequently asked questions about Scheme |
Books | Published books |
Cookbook | Code snippets that solve common problems |
Standards | Revisedn Report on Scheme and other standards |
SRFI | Scheme Requests for Implementation |
Research | Dive into the academic research behind Scheme |
Community | Scheme gathering spots around the internet |
---|---|
Workshop | The Scheme and Functional Programming Workshop |
Events | Conferences and other meetups |
Planet | Blog posts from every corner of the Scheme community |
Video | Videos about Scheme |
Chat | IRC, Discord, Gitter and other highly informal channels |
Lists | Mailing lists for email discussion of many Scheme topics |
Wiki | Scheme community wiki |
Groups | Work groups |
Get Scheme | Browse and compare all known Scheme systems | |
---|---|---|
Bigloo | Scheme-to-C and Scheme-to-JVM compiler | |
Chez Scheme | Cross-module optimizing native-code compiler | R6 |
Chibi-Scheme | Small embeddable interpreter with many optional libraries | R7 |
CHICKEN | Scheme-to-C compiler with a big, friendly community | R7 |
Cyclone | New Scheme-to-C compiler with native threads | R7 |
Gambit | Concurrent, retargetable, optimizing compiler | R7 |
Gauche | Script interpreter with many built-in libraries | R7 |
Gerbil | Scheme with actors and objects built on Gambit | R7 |
Guile | Main Scheme implementation of the GNU project | R6 R7 |
JazzScheme | Object-oriented GUI and IDE built on Gambit | |
Kawa | JVM compiler with many extensions to Scheme | R7 |
Loko | Bare-metal native-code compiler | R6 R7 |
MIT/GNU Scheme | Native-code compiler and development environment | R7 |
Mosh | Complete R6RS interpreter | R6 R7 |
Racket | Native-code compiler | R6 R7 |
s7 | Embeddable interpreter for music applications | R7 |
Sagittarius | Script interpreter with many built-in libraries | R6 R7 |
SCM | Portable C implementation that begat Guile and SLIB | |
STklos | Interpreter with CLOS object-oriented GUI | R7 |
Ypsilon | Incremental native-code compiler with concurrent GC | R6 R7 |
Index | Library search using types, tags, and names | |
---|---|---|
Containers | Ready-to-run Docker containers | |
Documentation | Study Scheme implementations and libraries | |
Manual pages | Unix manual pages for tools and libraries | |
Conservatory | Preservation of old software and websites | |
Files | Archive of current and historical files | |
Gitea | Host Git repositories under Scheme.org | |
Go Scheme | URL shortening service | |
Jenkins | Continuous Integration (CI) | |
Registry | Catalog of identifiers and other data |