Scheme: Różnice pomiędzy wersjami

Dodane 23 bajty ,  2 lata temu
m
drobne techniczne
m (rażący int.)
m (drobne techniczne)
| nazwa = Scheme
| logo = Lambda lc.svg
| wielkość_loga = 250px
| data = 1970
| paradygmat = [[Programowanie wieloparadygmatowe|wieloparadygmatowy]], [[Programowanie funkcyjne|funkcyjny]], [[Programowanie proceduralne|proceduralny]], [[Metaprogramowanie|meta]]
| system = [[Wieloplatformowość|wieloplatformowy]]
| wikibooks =
| www = [http://www.scheme-reports.org/ Strona projektu]
}}
'''Scheme''' – [[programowanie funkcyjne|funkcyjny]] [[język programowania]], dialekt (wariant) [[Lisp]]u, który został zaprojektowany na [[Massachusetts Institute of Technology|MIT]] przez [[Guy L. Steele|Guy L. Steele'a]] i [[Gerald Jay Sussman|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 [[Lisp]]u, który używał zmiennych leksykalnych i pierwszym który wymagał od implementacji optymalizacji wywołań z rekurencją ogonową. Scheme jest ustandaryzowany przez organizację [[Institute of Electrical and Electronics Engineers|IEEE]] oraz przez dokumenty ''Revised<sup>n</sup> Report on the Algorithmic Language Scheme'' (R''n''RS), z których najczęściej implementowane są R5RS z 1998 roku oraz R6RS z 2007 roku.