Scheme

Scheme
Logo języka Scheme
Logo języka
Pojawienie się

1970

Paradygmat

wieloparadygmatowy, funkcyjny, proceduralny, meta

Typowanie

dynamiczne, silne

Aktualna wersja stabilna

R7RS-small
(2013) [±]

Twórca

Guy L. Steele Jr., Gerald Jay Sussman

Platforma sprzętowa

wieloplatformowy

Platforma systemowa

wieloplatformowy

Strona internetowa

Schemefunkcyjny język programowania, dialekt (wariant) Lispu, który został zaprojektowany na MIT przez Guy L. Steele'a i Geralda Jaya Sussmana w latach 70. Jego główną ideą jest minimalizm, co oznacza, że sam język zawiera jedynie podstawowe mechanizmy, a na ich bazie, już z użyciem Scheme, tworzone są bardziej zaawansowane rozwiązania. Scheme nie jest czysto funkcyjnym językiem programowania, co oznacza, że dopuszczalne są efekty uboczne obliczeń. Scheme umożliwia również tworzenie programów w stylu proceduralnym i obiektowym. Jest to język o dynamicznym systemie typów. Zarządzanie pamięcią jest w pełni automatyczne. Scheme był pierwszym dialektem Lispu, który używał zmiennych leksykalnych i pierwszym, który wymagał od implementacji optymalizacji wywołań z rekurencją ogonową.

Scheme jest ustandaryzowany przez organizację IEEE oraz przez specyfikacje Revisedn Report on the Algorithmic Language Scheme (RnRS)[1], z których najczęściej implementowane są R5RS z 1998 roku, R6RS z 2007 roku oraz najnowszy R7RS (small) z 2013 roku. Przy czym wersja R6RS ma mieszane opinie w gronie programistów używających języka Scheme. Głównym powodem negatywnych opinii na temat tej specyfikacji jest jej duża objętość[2]. Dodatkowo istnieją oficjalne rozszerzenia języka tzw. SRFI (ang. Scheme Request For Implementation)[3]. Niektóry SRFI stały się częścią standardów RnRS.

  1. Potęga przy R np. wartość 3 oznacza Revised Revised Revised Report on the Algorithmic Language Scheme
  2. G. Weinholt: R7RS versus R6RS. 2018-06-22. [dostęp 2024-01-22].
  3. Scheme Requests for Implementation. [dostęp 2024-01-22].

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by razib.in