Guile
GNU Guile — реализация языка программирования Scheme, рекомендованная в качестве скриптового языка, встраиваемого в программные продукты проекта GNU[4].
В частности, он используется в таких продуктах, как Guix, GDB, GnuCash и LilyPond.
Что важно знать
| GNU Guile | |
|---|---|
| Тип | Язык программирования |
| Разработчик | GNU Project |
| Написана на | Си |
| Интерфейс | Ncurses[3] |
| Операционные системы | Linux, BSD, MS Windows (посредством MinGW или Cygwin) |
| Первый выпуск | 1993[1] |
| Последняя версия | |
| Репозиторий | git.savannah.gnu.org/cgi… |
| Лицензия | GNU Lesser General Public License |
| Сайт | gnu.org/software/guile/ |
Особенности
Guile распространяется на условиях LGPL и реализует стандарт R5RS[5]. С R6RS имеется ряд несовместимостей, однако стандартная библиотека Scheme, определённая этим стандартом, реализована[6].
Язык доступен в виде готового к работе интерпретатора guile, с поддержкой интерактивного режима[5] и подключаемой к приложениям, в которые нужно встроить язык сценариев, библиотеки libguile (в линукс-дистрибутивах обычно устанавливаемой в виде пакета guile-devel[5]).
История
Guile был создан в начале 1990-х годов, в пику языку Tcl, набиравшему популярность в качестве встраиваемого скриптового языка, но не одобренного Столлманом[7], который посчитал 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» дословно переводится как «обман; вероломство, коварство; хитрость, уловка»[5].
Примечания
Литература
- Jim Blandy. Guile: An Interpreter Core for Complete Applications // Handbook of Programming Languages: Functional and logic programming languages / Peter H. Salus. — Macmillan Technical Pub., 1998. — С. 87—104. — 280 с. — ISBN 9781578700110.
- Алексей Снастин. Guile — универсальный инструмент программирования. Часть 1. Как с ним обращаться. DeveloperWorks. IBM (11 августа 2010). Дата обращения: 31 октября 2016.
- Часть 2. Как с ним обращаться (5 августа 2010). Дата обращения: 31 октября 2016.
- Часть 3. Взаимодействие с языком C (начало) (5 августа 2010). Дата обращения: 31 октября 2016.
- Часть 4. Взаимодействие с языком C (окончание) (14 июня 2011). Дата обращения: 31 октября 2016.
- Часть 5. Дополнительные средства Guile (14 июня 2011). Дата обращения: 31 октября 2016.
Ссылки
- gnu.org/software/… (англ.) — официальный сайт Guile


