Scheme: Różnice pomiędzy wersjami

Dodane 398 bajtów ,  9 lat temu
m
Bot: Dodanie tytułów do linków w przypisach (patrz FAQ)
(→‎Podstawienia: jeszcze linki)
m (Bot: Dodanie tytułów do linków w przypisach (patrz FAQ))
</pre>
 
Kontynuacje wykorzystywane są by nadać wrażenie synchroniczności typowo asynchronicznym operacjom takim jak np. zapytania HTTP<ref>[http://www.cs.brown.edu/~sk/Publications/Papers/Published/khmgpf-impl-use-plt-web-server-journal/paper.pdf]</ref>. Niestety, przez obecność kontynuacji jako typ danych pierwszej klasy w Scheme nie jest możliwe orzeknięcie czy dany blok kodu będzie jeszcze wywoływany, komplikując zamykanie zasobów takich jak deskryptory plików i inne [[uchwyt]]y<ref>[http://www.nhplace.com/kent/PFAQ/unwind-protect-vs-continuations-original.html KMP's PFAQ: UNWIND-PROTECT vs Continuations (page 3)<!-- Tytuł wygenerowany przez bota -->]</ref>.
 
=== I/O ===
 
=== Standard IEEE i raport R<sup>n</sup>RS ===
Język Scheme opisany jest w dwóch dokumentach<ref> [http://schemers.org/Documents/Standards/ schemers.org: Documents: Standards<!-- Tytuł wygenerowany przez bota -->]</ref>:
* standard organizacji IEEE (The IEEE standard, 1178-1990 (R1995))
* raport R<sup>6</sup>RS (Revised<sup>6</sup> Report on the Algorithmic Language Scheme), szósta wersja dokumentu R<sup>n</sup>RS
Raport R<sup>n</sup>RS jest powszechnie uważany za oficjalną i podstawową definicję języka: programiści piszą programy zgodne z R<sup>n</sup>RS, o implementacjach języka Scheme mówi się, że są w całości lub częściowo zgodne z raportem R<sup>n</sup>RS.
 
Pierwszy dokument opisujący język Scheme powstał w roku 1975: "Scheme: an interpreter for extended lambda calculus", autorami byli Gerald Jay Sussman i Guy Lewis Steele Jr., twórcy języka. Raport R<sup>5</sup>RS został opublikowany 20 lutego 1998 roku, Do sierpnia 2007 roku trwały prace nad nową definicją języka - raportem R<sup>6</sup>RS<ref>[http://www.r6rs.org R6RS<!-- Tytuł wygenerowany przez bota -->]</ref>. Wstępna wersja nowego raportu o numerze 5.97 została poddana pod głosowanie osób, które zgłosiły zainteresowanie procesem tworzenia dokumentu. Głosowanie zakończyło się 12 sierpnia, 29 sierpnia ogłoszono wyniki głosowania i ratyfikację nowego raportu - R<sup>6</sup>RS<ref>[http://lists.r6rs.org/pipermail/r6rs-discuss/2007-August/003272.html [r6rs-discuss&#93; [Scheme Steering Committee announcements&#93; R6RS Ratified<!-- Tytuł wygenerowany przez bota -->]</ref>.
 
=== Dokumenty SRFI ===
Dokumenty zgłoszone i przyjęte w procesie SRFI <ref>[http://srfi.schemers.org/] Scheme Requests for Implementation<!-- Tytuł wygenerowany przez bota -->]</ref>są sposobem na w miarę szybkie wprowadzanie przenośnych między implementacjami języka rozwiązań ułatwiających tworzenie programów. Obecnie istnieje około 60 dokumentów SRFI, opisują one sposób zaimplementowania takich funkcji czy rozwiązań jak np. sposób notacji tablic, strumienie, obsługa wyjątków, higieniczne makra, wykonywanie skryptów języka Scheme w systemach operacyjnych UNIX czy obsługa wielowątkowości. Rozwiązania te nie wchodzą w skład oficjalnej definicji języka, jednak mogą być brane pod uwagę przy tworzeniu kolejnych wersji raportu R<sup>n</sup>RS.
 
{{Przypisy}}
2 587 949

edycji