Scheme är ett av de två huvudspråken i Lisp-familjen tillsammans med Common Lisp. Det utvecklades på 1970-talet vid Massachusetts Institute of Technology (MIT) som ett verktyg för undervisning och forskning i programmering. Scheme är känt för sin enkelhet och minimalism, och den har en mycket ren och enkel syntax. Den är dessutom effektiv och portabel, vilket gör den till ett utmärkt verktyg för undervisning och forskning.
Skillnaden mellan Scheme och andra språk i Lisp-familjen ligger huvudsakligen i dess semantik och de uppfattningar som den representerar. Scheme är ett funktionsorienterat språk, vilket innebär att det fokuserar på användning av funktioner och deras applikationer. Men den stödjer också imperativ och logisk programmering, vilket innebär att den kan användas för att skriva program som tar beslut baserat på logiska förhållanden. Detta erbjuder en hög grad av flexibilitet och gör att man kan välja den programmeringsstil som bäst passar problemet.
En annan unik aspekt av Scheme är dess hantering av första-klassens funktioner och fortplantning av namnbindningar. Detta innebär att funktioner kan vara värden och returneras som resultat av andra funktioner, vilket ger programmerare en fantastisk mängd flexibilitet och makt. Dessutom stödjer Scheme kontinuationer, vilket tillåter komplexa flödeskontroller, som korrutiner och aktörbaserad programmering. Den har också en kraftig macro-syntes som möjliggör avancerade abstraktioner och direkta manipulationer av syntaktiska träd.