Схема 48

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

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

Она называется «Схема 48», потому что первая версия была написана за 48 часов в августе 1986 года. Теперь авторы говорят, что она предназначена для понимания за 48 часов.

Реализация

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

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

— Олин Шиверс, «Олин Шиверс: История Т»

Ссылки

Внешние ссылки

Последняя правка сделана 2021-06-07 04:58:04
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте