Guile: различия между версиями
[отпатрулированная версия] | [отпатрулированная версия] |
Спасено источников — 4, отмечено мёртвыми — 0. Сообщить об ошибке. См. FAQ.) #IABot (v2.0.8.7 |
Спасено источников — 1, отмечено мёртвыми — 0. Сообщить об ошибке. См. FAQ.) #IABot (v2.0.9.5 |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 1: | Строка 1: | ||
{{Infobox Software|name=GNU Guile|logo=GNU-Guile-logo.svg|caption=Gnu/Guile new design logo|developer=[[GNU Project]]|released={{Start date and age|1993}}{{sfn|Blandy|1998|p=102}}|frequently updated=yes|operating system=[[Linux]], [[BSD]], [[MS Windows]] (посредством [[MinGW]] или [[Cygwin]])|genre=[[Язык программирования]]|license=[[GNU Lesser General Public License]]|website={{URL|https://www.gnu.org/software/guile/}}|standard=R5RS, частично R6RS}} |
{{Infobox Software|name=GNU Guile|logo=GNU-Guile-logo.svg|caption=Gnu/Guile new design logo|developer=[[GNU Project]]|released={{Start date and age|1993}}{{sfn|Blandy|1998|p=102}}|frequently updated=yes|operating system=[[Linux]], [[BSD]], [[MS Windows]] (посредством [[MinGW]] или [[Cygwin]])|genre=[[Язык программирования]]|license=[[GNU Lesser General Public License]]|website={{URL|https://www.gnu.org/software/guile/}}|standard=R5RS, частично R6RS}} |
||
'''GNU Guile''' — реализация языка программирования [[Scheme]], рекомендованная в качестве [[Скриптовые языки|скриптового языка]], встраиваемого в программные продукты проекта [[GNU]]<ref>{{Книга|автор=Sandeep Koranne|часть=1.6.9. Scheme|заглавие=Handbook of Open Source Tools|ссылка=https://books.google.ru/books?id=ukXrNh2g6fQC&pg=PA27|ответственный=|издание=|место=|издательство=Springer Science & Business Media|год=2010-10-17|страницы=|страниц=505|isbn=9781441977199 |
'''GNU Guile''' — реализация языка программирования [[Scheme]], рекомендованная в качестве [[Скриптовые языки|скриптового языка]], встраиваемого в программные продукты проекта [[GNU]]<ref>{{Книга|автор=Sandeep Koranne|часть=1.6.9. Scheme|заглавие=Handbook of Open Source Tools|ссылка=https://books.google.ru/books?id=ukXrNh2g6fQC&pg=PA27|ответственный=|издание=|место=|издательство=Springer Science & Business Media|год=2010-10-17|страницы=|страниц=505|isbn=9781441977199|archivedate=2016-11-01|archiveurl=https://web.archive.org/web/20161101101746/https://books.google.ru/books?id=ukXrNh2g6fQC&pg=PA27}}</ref>. Используется в таких продуктах, как [[Guix System Distribution|Guix]], [[GNU Debugger|GDB]], [[GnuCash]] и [[LilyPond]]. |
||
⚫ | Распространяется на условиях [[LGPL]] и реализует стандарт R5RS<ref name=":0" />. С R6RS имеется ряд несовместимостей, однако [[стандартная библиотека]] Scheme, определённая этим стандартом, реализована<ref>{{Cite web|url=https://www.gnu.org/software/guile/manual/html_node/R6RS-Support.html#R6RS-Support|title=Guile Reference Manual: R6RS Support|publisher=www.gnu.org|accessdate=2016-10-31|archive-date=2016-11-01|archive-url=https://web.archive.org/web/20161101102158/https://www.gnu.org/software/guile/manual/html_node/R6RS-Support.html#R6RS-Support|deadlink=no}}</ref>. Язык доступен в виде готового к работе интерпретатора <code>guile</code>, с поддержкой интерактивного режима<ref name=":0" /> и подключаемой к приложениям, в которые нужно встроить язык сценариев, библиотеки <code>libguile</code> (в [[Дистрибутив Linux|линукс-дистрибутивах]] обычно устанавливаемой в виде пакета <code>guile-devel</code><ref name=":0" />). |
||
В частности, он используется в таких продуктах, как [[Guix System Distribution|Guix]], [[GNU Debugger|GDB]], [[GnuCash]] и [[LilyPond]]. |
|||
⚫ | Создан в начале 1990-х годов как альтернатива языку [[Tcl]], набиравшему популярность в качестве встраиваемого скриптового языка, но не одобренного [[Столлман, Ричард Мэттью|Столлманом]]<ref>{{Cite web|url=http://vanderburg.org/old_pages/Tcl/war/|title=The Tcl War|publisher=Glenn Vanderburg|accessdate=2016-10-31|archive-date=2016-10-08|archive-url=https://web.archive.org/web/20161008094751/http://vanderburg.org/old_pages/Tcl/war/|deadlink=no}}</ref>, который посчитал Tcl недостаточно мощным, а необходимость знакомства с новым [[Синтаксис (программирование)|синтаксисом]], хоть и построенным по близким к [[лисп]]у принципам, но заметно отличающегося — излишней. Взамен он предложил использовать интерпретатор Scheme. Подходящего интерпретатора не было, его взялся реализовать Том Лорд ({{Lang-en|Tom Lord}}). В качестве основы он использовал {{Iw|SIOD}} (Scheme in One Day) и ядро {{Iw|SCM (реализация Scheme)|SCM|4=SCM (Scheme implementation)}}, написанное Обри Джаффером ({{Lang-en|Aubrey Jaffer}}). Название Guile предложил в ходе обсуждения в соответствующей [[Usenet]]-[[Группа новостей|группе]] Ли Томас ({{lang-en2|Lee Thomas}}) как [[аббревиатура|аббревиатуру]] от {{lang-en|GNU’s Ubiquitous Interactive Language for Extension}} (повсеместно применяемый интерактивный язык для расширений GNU), и, в то же время, {{lang-en|guile}} дословно переводится как «обман; вероломство, коварство; хитрость, уловка»<ref name=":0">{{Cite web|url=https://www.ibm.com/developerworks/ru/library/os-Guile_1/|title=Guile — универсальный инструмент программирования. Часть 1. Как с ним обращаться|author=Алексей Снастин|work=[[DeveloperWorks]]|date=2010-08-11|publisher=[[IBM]]|accessdate=2016-10-31|archive-date=2016-11-01|archive-url=https://web.archive.org/web/20161101041224/https://www.ibm.com/developerworks/ru/library/os-Guile_1/|deadlink=no}}</ref>. |
||
== Особенности == |
|||
⚫ | |||
Язык доступен в виде готового к работе интерпретатора <code>guile</code>, с поддержкой интерактивного режима<ref name=":0" /> и подключаемой к приложениям, в которые нужно встроить язык сценариев, библиотеки <code>libguile</code> (в [[Дистрибутив Linux|линукс-дистрибутивах]] обычно устанавливаемой в виде пакета <code>guile-devel</code><ref name=":0" />). |
|||
== История == |
|||
⚫ | |||
== См. также == |
|||
* [[GNU]] |
|||
* [[Scheme]] |
|||
* [[Tcl]] |
|||
* [[Lua]] |
|||
== Примечания == |
== Примечания == |
||
{{Примечания |
{{Примечания}} |
||
== Литература == |
== Литература == |
Текущая версия от 05:50, 9 июня 2023
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/ |
Медиафайлы на Викискладе |
GNU Guile — реализация языка программирования Scheme, рекомендованная в качестве скриптового языка, встраиваемого в программные продукты проекта GNU[4]. Используется в таких продуктах, как Guix, GDB, GnuCash и LilyPond.
Распространяется на условиях LGPL и реализует стандарт R5RS[5]. С R6RS имеется ряд несовместимостей, однако стандартная библиотека Scheme, определённая этим стандартом, реализована[6]. Язык доступен в виде готового к работе интерпретатора guile
, с поддержкой интерактивного режима[5] и подключаемой к приложениям, в которые нужно встроить язык сценариев, библиотеки libguile
(в линукс-дистрибутивах обычно устанавливаемой в виде пакета guile-devel
[5]).
Создан в начале 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].
Примечания
[править | править код]- ↑ Blandy, 1998, p. 102.
- ↑ Wingo A. GNU Guile 3.0.10 released (англ.) — 2024.
- ↑ Libraries
- ↑ Sandeep Koranne. 1.6.9. Scheme // Handbook of Open Source Tools. — Springer Science & Business Media, 2010-10-17. — 505 с. — ISBN 9781441977199. Архивировано 1 ноября 2016 года.
- ↑ 1 2 3 4 Алексей Снастин. Guile — универсальный инструмент программирования. Часть 1. Как с ним обращаться . DeveloperWorks. IBM (11 августа 2010). Дата обращения: 31 октября 2016. Архивировано 1 ноября 2016 года.
- ↑ Guile Reference Manual: R6RS Support . www.gnu.org. Дата обращения: 31 октября 2016. Архивировано 1 ноября 2016 года.
- ↑ The Tcl War . Glenn Vanderburg. Дата обращения: 31 октября 2016. Архивировано 8 октября 2016 года.
Литература
[править | править код]- 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