Введение

Gauche — это реализация Scheme R7RS. Она разработана для написания скриптов в производственной среде и предназначена для того, чтобы программисты и системные администраторы могли создавать скрипты для поддержки повседневных задач. Быстрый запуск, встроенный системный интерфейс и нативная многоязычная поддержка — одни из ключевых целей разработки Gauche. Gauche является свободным программным обеспечением, распространяемым по лицензии BSD. Основной разработчик — Широ Кавай.

Особенности

Быстрый запуск. Gauche включает в себя общие функции в исполняемом файле, а менее востребованные – в библиотеках, которые загружаются по мере необходимости. Модульная система. Простая модульная система, API-совместимая с STklos. Объектная система. Объектная система, подобная CLOS, с протоколом метаобъектов. Практически API-совместимая с STklos. Также похожа на объектную систему Guile. Встроенная поддержка многоязычности. Строки внутренне представлены многобайтовыми строками. Можно использовать UTF-8, EUC JP, Shift JIS или кодировку без использования многобайтовых символов. Преобразование между внутренней и внешней системами кодирования поддерживается через объекты портов. Многобайтовые регулярные выражения. Механизм сопоставления регулярных выражений учитывает многобайтовые строки; можно использовать многобайтовые символы как в шаблонах, так и в найденных строках. Встроенный системный интерфейс. Gauche имеет встроенную поддержку большинства системных вызовов POSIX.1. Сетевой интерфейс. Предоставляет API для сетевого взаимодействия на основе сокетов, включая IPv6, если это поддерживается операционной системой. Многопоточность. Поддержка многопоточности реализована на основе pthreads. API на уровне Scheme соответствует SRFI 18. Интерфейс DBM. Интерфейсы для dbm, ndbm и/или gdbm. Разбор XML. Включены инструменты SXML Олега Киселева.