~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ D4C82BFDF0FBF3D0AB0FE878F2379C37__1677021180 ✰
Заголовок документа оригинал.:
✰ Scheme 48 - Wikipedia ✰
Заголовок документа перевод.:
✰ Scheme 48 - Wikipedia ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Scheme_48 ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/d4/37/d4c82bfdf0fbf3d0ab0fe878f2379c37.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/d4/37/d4c82bfdf0fbf3d0ab0fe878f2379c37__translat.html ✰
Дата и время сохранения документа:
✰ 07.07.2024 11:29:09 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 22 February 2023, at 02:13 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Scheme 48 - Wikipedia Jump to content

Scheme 48

From Wikipedia, the free encyclopedia
Scheme 48
ParadigmsMulti: functional, procedural, meta
FamilyLisp
Designed byRichard Kelsey,
Jonathan Rees
DevelopersRichard Kelsey,
Jonathan Rees
First appearedMarch 1987; 37 years ago (1987-03)
Stable release
1.9.2 / 12 April 2014; 10 years ago (2014-04-12)
Typing disciplineDynamic, strong, Latent
ScopeLexical
OSCross-platform
LicenseBSD
Websites48.org

Scheme 48 is a programming language, a dialect of the language Scheme, an implementation using an interpreter which emits bytecode.[2] It has a foreign function interface for calling functions from the language C[3] and comes with a library for regular expressions (regex),[4] and an interface for Portable Operating System Interface (POSIX).[5] It is supported by the portable Scheme library SLIB, and is the basis for the Scheme shell Scsh.[2] It has been used in academic research.[6] It is free and open-source software released under a BSD license.

It is called "Scheme 48" because the first version was written in 48 hours in August 1986.[7] The authors now[when?] say it is intended to be understood in 48 hours.[citation needed]

Implementation[edit]

Scheme 48 uses a virtual machine to interpret the bytecode, which is written in a restricted dialect of Scheme called PreScheme, which can be translated to C and compiled to a native binary. PreScheme, or Pre-Scheme, is a statically-typed dialect of Scheme with the efficiency and low-level machine access of C while retaining many of the desirable features of Scheme.

Pre-scheme was quite interesting. Kelsey published a paper on it, as well, I believe. It was Scheme in the sense that you could load it into a Scheme system and run the code. But it was restrictive – it required you to write in a fashion that allowed complete Hindley-Milner static type inference, and all higher-order procedures were beta-substituted away at compile time, meaning you could *straightforwardly* translate a prescheme program into "natural" C code with C-level effiency [sic]. That is, you could view prescheme as a really pleasant alternative to C for low-level code. And you could debug your prescheme programs in the interactive Scheme development environment of your choice, before flipping a switch and translating to C code, because prescheme was just a restricted Scheme. The Scheme 48 byte-code interpreter was written in prescheme. Prescheme sort of died – beyond the academic paper he wrote, Kelsey never quite had the time to document it and turn it into a standalone tool that other people could use (Ian Horswill's group at Northwestern is an exception to that claim – they have used prescheme

— Olin Shivers, "Olin Shivers: History of T"[8]

References[edit]

  1. ^ R5RS claim at project website
  2. ^ Jump up to: a b Kelsey, Richard; Rees, Jonathan. "Scheme 48". S48.org. Retrieved 2018-12-05.
  3. ^ Kelsey, Richard; Rees, Jonathan; Sperber, Mike (10 January 2008). "The Incomplete Scheme 48 Reference Manual for release 1.8: Mixing Scheme 48 and C". S48.org. Retrieved 2018-12-05., Chapter 8 in manual for version 1.8.
  4. ^ Kelsey, Richard; Rees, Jonathan; Sperber, Mike (10 January 2008). "The Incomplete Scheme 48 Reference Manual for release 1.8: Regular Expressions". S48.org. Retrieved 2018-12-05., Chapter 5 in manual for version 1.8.
  5. ^ Kelsey, Richard; Rees, Jonathan; Sperber, Mike (10 January 2008). "The Incomplete Scheme 48 Reference Manual for release 1.8: Access to POSIX". S48.org. Retrieved 2018-12-05., Chapter 9 in manual for version 1.8.
  6. ^ Final shift for call/cc: direct implementation of shift and reset
  7. ^ Rees, Jonathan A. "JAR's Scheme 48 Page". Jonathan A. Rees. Mumble.net. Retrieved 2018-12-05.
  8. ^ Shivers, Olin. "Olin Shivers: History of T". PaulGraham.com. Retrieved 2018-12-05.

External links[edit]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: D4C82BFDF0FBF3D0AB0FE878F2379C37__1677021180
URL1:https://en.wikipedia.org/wiki/Scheme_48
Заголовок, (Title) документа по адресу, URL1:
Scheme 48 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)