Jump to content

Схема 48

Схема 48
Парадигмы Мульти : функциональный , процедурный , мета.
Семья Лисп
Разработано Ричард Келси,
Джонатан Рис
Разработчики Ричард Келси,
Джонатан Рис
Впервые появился март 1987 г .; 37 лет назад ( 1987-03 )
Стабильная версия
1.9.2 / 12 апреля 2014 г .; 10 лет назад ( 12 апреля 2014 г. )
Дисциплина набора текста Динамичный , сильный , Скрытый
Объем Лексический
ТЫ Кросс-платформенный
Лицензия БСД
Веб-сайт s48 .org

Схема 48 — это язык программирования , диалект языка Scheme , реализация с использованием интерпретатора , который генерирует байт-код . [2] Имеет внешний интерфейс функций для вызова функций из языка C. [3] и поставляется с библиотекой регулярных выражений (regex), [4] и интерфейс для интерфейса переносимой операционной системы ( POSIX ). [5] Он поддерживается переносимой библиотекой Scheme SLIB и является основой оболочки Scheme Scsh . [2] Его использовали в научных исследованиях. [6] Это бесплатное программное обеспечение с открытым исходным кодом, выпущенное под лицензией BSD .

Она называется «Схема 48», потому что первая версия была написана за 48 часов в августе 1986 года. [7] Авторы сейчас [ когда? ] скажем, его предполагается понять за 48 часов. [ нужна ссылка ]

Реализация [ править ]

Схема 48 использует виртуальную машину для интерпретации байт-кода , написанного на ограниченном диалекте Scheme, называемом PreScheme, который можно перевести на C и скомпилировать в собственный двоичный код. PreScheme или Pre-Scheme — это статически типизированный диалект Scheme, обладающий эффективностью и низкоуровневым машинным доступом C, сохраняя при этом многие желательные функции Scheme.

Предварительная схема была довольно интересной. Келси, по-моему, тоже опубликовал статью по этому поводу. Это была Scheme в том смысле, что вы могли загрузить ее в систему Scheme и запустить код. Но это было ограничительно – требовалось, чтобы вы писали таким образом, чтобы обеспечить полный вывод статического типа Хиндли-Милнера, а все процедуры более высокого порядка были заменены бета-версией во время компиляции, что означало, что вы могли *прямо* транслировать предсхемную программу в " естественный» код C с эффективностью уровня C [ sic ]. То есть вы можете рассматривать prescheme как действительно приятную альтернативу C для низкоуровневого кода. И вы можете отлаживать свои программы prescheme в интерактивной среде разработки Scheme по вашему выбору, прежде чем щелкнуть переключателем и перевести их в код C, потому что prescheme была всего лишь ограниченной схемой. Интерпретатор байт-кода Scheme 48 был написан на prescheme. Пресхема как бы умерла – помимо научной статьи, которую он написал, у Келси так и не было времени задокументировать ее и превратить в автономный инструмент, которым могли бы пользоваться другие люди (группа Яна Хорсвилла в Северо-Западном университете является исключением из этого утверждения – они использовали предсхему).

- Олин Шиверс, «Олин Шиверс: История Т» [8]

Ссылки [ править ]

  1. ^ Заявление R5RS на сайте проекта.
  2. Перейти обратно: Перейти обратно: а б Келси, Ричард; Рис, Джонатан. «Схема 48» . S48.org . Проверено 5 декабря 2018 г.
  3. ^ Келси, Ричард; Рис, Джонатан; Спербер, Майк (10 января 2008 г.). «Справочное руководство по неполной схеме 48 для версии 1.8: Смешивание схем 48 и C» . S48.org . Проверено 5 декабря 2018 г. , Глава 8 в руководстве для версии 1.8.
  4. ^ Келси, Ричард; Рис, Джонатан; Спербер, Майк (10 января 2008 г.). «Справочное руководство по неполной схеме 48 для версии 1.8: Регулярные выражения» . S48.org . Проверено 5 декабря 2018 г. , Глава 5 в руководстве для версии 1.8.
  5. ^ Келси, Ричард; Рис, Джонатан; Спербер, Майк (10 января 2008 г.). «Справочное руководство по неполной схеме 48 для версии 1.8: доступ к POSIX» . S48.org . Проверено 5 декабря 2018 г. , Глава 9 в руководстве для версии 1.8.
  6. ^ Финальный сдвиг для вызова/cc: прямая реализация сдвига и сброса.
  7. ^ Рис, Джонатан А. «Схема JAR, 48 страница» . Джонатан А. Рис . Мамбл.нет . Проверено 5 декабря 2018 г.
  8. ^ Дрожь, Олин. «Олин Шиверс: История Т» . ПолГрэм.com . Проверено 5 декабря 2018 г.

Внешние ссылки [ править ]

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