Guile

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
GNU Guile
GNU-Guile-logo.svg
Тип Язык программирования
Разработчик GNU Project
Написана на Си
Интерфейс Ncurses[4]
Операционная система Linux, BSD, MS Windows (посредством MinGW или Cygwin)
Первый выпуск 1993; 28 лет назад (1993)[1]
Последняя версия
Тестовая версия
Лицензия GNU Lesser General Public License
Сайт gnu.org/software/guile/
Commons-logo.svg Медиафайлы на Викискладе

GNU Guile — реализация языка программирования Scheme, рекомендованная в качестве скриптового языка, встраиваемого в программные продукты проекта GNU[5].

В частности, он используется в таких продуктах, как Guix, GDB, GnuCash и LilyPond.

Особенности[править | править код]

Guile распространяется на условиях LGPL и реализует стандарт R5RS[6]. С R6RS имеется ряд несовместимостей, однако стандартная библиотека Scheme, определённая этим стандартом, реализована[7].

Язык доступен в виде готового к работе интерпретатора guile, с поддержкой интерактивного режима[6] и подключаемой к приложениям, в которые нужно встроить язык сценариев, библиотеки libguileлинукс-дистрибутивах обычно устанавливаемой в виде пакета guile-devel[6]).

История[править | править код]

Guile был создан в начале 1990-х годов, в пику языку Tcl, набиравшему популярность в качестве встраиваемого скриптового языка, но не одобренного Столлманом[8], который посчитал Tcl недостаточно мощным, а необходимость знакомства с новым синтаксисом, хоть и построенным по близким к лиспу принципам, но заметно отличающегося — излишней. Взамен он предложил использовать интерпретатор Scheme. Подходящего интерпретатора не было, его взялся реализовать Том Лорд (англ. Tom Lord). В качестве основы он использовал SIOD[en] (Scheme in One Day) и ядро SCM[en], написанное Обри Джаффером (англ. Aubrey Jaffer). Название Guile предложил в ходе обсуждения в соответствующей Usenet-группе Ли Томас (Lee Thomas). Это аббревиатура, раскрываемая как GNU’s Ubiquitous Interactive Language for Extension — повсеместно применяемый интерактивный язык для расширений GNU, и, в то же время, слово «guile» дословно переводится как «обман; вероломство, коварство; хитрость, уловка»[6].

См. также[править | править код]

Примечания[править | править код]

  1. Blandy, 1998, p. 102.
  2. Wingo A. GNU Guile 3.0.5 released (англ.) — 2021.
  3. Courtès L. GNU Guile 2.2.7 released (англ.) — 2020.
  4. Libraries
  5. Sandeep Koranne. 1.6.9. Scheme // Handbook of Open Source Tools. — Springer Science & Business Media, 2010-10-17. — 505 с. — ISBN 9781441977199.
  6. 1 2 3 4 Алексей Снастин. Guile — универсальный инструмент программирования. Часть 1. Как с ним обращаться. DeveloperWorks. IBM (11 августа 2010). Дата обращения: 31 октября 2016.
  7. Guile Reference Manual: R6RS Support. www.gnu.org. Дата обращения: 31 октября 2016.
  8. The Tcl War. Glenn Vanderburg. Дата обращения: 31 октября 2016.

Литература[править | править код]

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