Guile

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
GNU Guile
Логотип программы GNU Guile
Тип Язык программирования
Разработчик GNU Project
Операционная система Linux, BSD, MS Windows (посредством MinGW или Cygwin)
Первый выпуск 1993; 31 год назад (1993)[1]
Лицензия GNU Lesser General Public License
Сайт gnu.org/software/guile/

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

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

Особенности

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

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

История

Guile был создан в начале 1990-х годов, в пику языку Tcl, набиравшему популярность в качестве встраиваемого скриптового языка, но не одобренного Столлманом[5], который посчитал 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» дословно переводится как «обман; вероломство, коварство; хитрость, уловка»[3].

См. также

Примечания

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

Литература

Ссылки

  • — официальный сайт Guile