Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
Gauche — это реализация Scheme R7RS. Она разработана для написания скриптов в производственной среде и предназначена для того, чтобы программисты и системные администраторы могли создавать скрипты для поддержки повседневных задач. Быстрый запуск, встроенный системный интерфейс и нативная многоязычная поддержка — одни из ключевых целей разработки Gauche. Gauche является свободным программным обеспечением, распространяемым по лицензии BSD. Основной разработчик — Широ Кавай.
Gauche is an R7RS Scheme implementation. It is designed for scripting in a production environment. It is intended to allow programmers and system administrators to write scripts in support of daily operations. Quick startup, built in system interface, native multilingual support are some of its key design goals. Gauche is free software under the BSD License. It is primarily developed by Shiro Kawai.
Особенности
Быстрый запуск. 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 Олега Киселева.
Quick startup Gauche includes common features in its executable, while less common functions are in libraries which are loaded on demand. Module system A simple module system, API compatible to STklos. Object system CLOS like object system with metaobject protocol. Almost API compatible to STklos. It is also similar to Guile's object system. Native multilingual support Strings are represented by multibyte string internally. You can use UTF 8, EUC JP, Shift JIS or no multibyte encoding. Conversion between native coding system and external coding system is supported by port objects. Multibyte regexp Regular expression matcher is aware of multibyte string; you can use multibyte characters both in patterns and matched strings. Built in system interface Gauche has built in support for most POSIX.1 system calls. Network interface Has API for socket based network interface, including IPv6 if the OS supports it. Multithreading Multithreading is supported on top of pthreads. Scheme level API conforms to SRFI 18. DBM interface Interfaces to dbm, ndbm and/or gdbm. XML parsing Oleg Kiselyov's SXML tools are included.