Scheme

Welcome to Scheme.org, a new home page for Scheme. We host a snapshot of the old Schemers.org. Thanks to Prof. Shriram Krishnamurthi and all the other people who gave Scheme a home on Schemers.org for nearly twenty-five years.

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.

What's new in Scheme

More on Planet Scheme.

Language

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

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

Implementations

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

Tools

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
Registry Catalog of identifiers and other data

About Scheme.org