Guile


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

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

Особенности

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

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

История

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






Яндекс.Метрика