Scheme¶
Scheme jest jednym z dwóch głównych dialektów języka programowania Lisp, obok Common Lisp. Został stworzony w 1975 roku przez Guya L. Steele'a i Geralda Jaya Sussmana na Massachusetts Institute of Technology (MIT) jako bardziej minimalistyczna, czysta i elegancka alternatywa dla ówczesnego Lispu.
Kluczowe cechy¶
- 
Funkcyjność: Scheme jest czystym językiem funkcyjnym, z silnym naciskiem na niezmienność i rekurencję zamiast pętli.
 - 
Minimalizm: Scheme jest znany z bardzo małej liczby wbudowanych funkcji i składni, co czyni go łatwym do nauczenia się, ale także wymaga więcej pracy od programistów, którzy muszą często sami tworzyć potrzebne im narzędzia.
 - 
First-class functions i lexical scoping: funkcje w Scheme są "obiektami pierwszej klasy", co oznacza, że mogą być przekazywane jako argumenty do innych funkcji, zwracane jako wartości i przypisywane do zmiennych. Lexical scoping (czyli zakres leksykalny) oznacza, że zmienne są dostępne wewnątrz funkcji, w której zostały zdefiniowane, co pomaga w utrzymaniu czystego i zrozumiałego kodu.
 - 
Makro system: Scheme posiada potężny system makr, który pozwala programistom na tworzenie nowych konstrukcji języka.
 - 
Continuations: Scheme wspiera kontynuacje jako sposób na kontrolę przepływu programu, co pozwala na tworzenie skomplikowanych struktur sterowania, takich jak ko-rutyny, wielowątkowość i obsługę wyjątków.
 
Scheme jest często używany w środowiskach akademickich jako narzędzie do nauczania koncepcji programowania funkcyjnego i jest podstawą wielu innych języków, takich jak Clojure i Racket.