Gauche є реалізація R5RS Схема розроблена, щоб бути під рукою інтерпретатор сценаріїв, який дозволяє програмістам і системним адміністраторам написати маленьких до великих сценаріїв для своїх щоденних обов'язків. Швидкий запуск, вбудований в інтерфейс системи, рідний багатомовна підтримка є одними з моїх цілей.
Gauche додаток працює на декількох Unix-подібних платформах.
Переустановленное
% Gzcat Gauche-0.8.3.tgz | смоли XF -
% Cd Gauche-0.8.3
% ./configure
% Марка
% Складають установки
Особливості :.
- Обкладинки R5RS, майже
- R5RS макро підтримується, як і всі визначити, синтаксис, давайте-синтаксичних, letrec-синтаксичних форм. Я думаю, що швидкість макророзширення важливо, так як інтерпретатор сценаріїв, і написав R5RS макро розширення, в C, інтегрований у внутрішній компілятора двигуна.
- Цифрові підтримуються операції Fixnum, bignum, Речові числа і комплексу.
- Підтримує наступні SRFIs.
- Модуль система: проста система модуль, API сумісні з STklos
- System Object: Кло-як об'єктна система з протоколом метаоб'ектов. Майже API сумісні з STklos. Це також схоже на об'єктної системи Guile-х років.
- Підтримка мультибайтних рядок: Рядки представлені мультибайтних рядки всередині. Ви можете використовувати UTF-8, EUC-JP, Shift-JIS або без кодування мультибайтних за вибором Налаштування часу. Перетворення між рідній системі кодування і зовнішньої системи кодування підтримується портових об'єктів.
- Multibyte регулярний вираз: Регулярний вираз збігів усвідомлює мультибайтних рядка; Ви можете використовувати багатобайтові символи як в зразках і що збіглися строки.
- Читач розширення: буквальне регулярний вираз і символ-набір, рядок інтерполяції: Розширений читач визнає # / ... / як регулярний вираз, # [...] у вигляді набору символів. Handy написати один-лайнери. (Наприклад, (rxmatch-подстрока (rxmatch # / (d +) / & Quot; abc123def і Quot;)) == & GT; & Quot; 123 & Quot;)
- Також і Quot; інтерполяції рядків і Quot; підтримується (наприклад, (дисплей # `& Quot; 1 + 2 =, (+ 1 2) N & Quot;)).
- система: Охоплює значну частину POSIX.1 та деяких інших спільних рис в * nix. Дивіться розділ 6.19 довідкового керівництва для деталей.
- Мережевий інтерфейс :. Має API для гнізд на базі мережевого інтерфейсу, у тому числі IPv6, якщо OS suppots його
- Нить: На деяких платформах, многопоточность підтримується зверху Pthreads. API Схема рівня відповідає SRFI-18.
- інтерфейс DBM :. Інтерфейс для DBM-подібних бібліотек (дБм, NDBM та / або GDBM), якщо система дасть їм
- XML розбору :. SXML інструменти Олега Кисельова включені
- OpenGL прив'язки :. OpenGL прив'язки міститься в окремому пакеті
- GTK прив'язки: GTK2 зв'язування надається у вигляді окремого пакета
Інтерфейс
Що нового У цьому випуску :.
- Ця версія виправляє кілька проблем збірки
Що нового у версії 0.9.3:
- Ця версія додана підтримка для ледачих послідовностей, безшовні інтеграція ледачого з список маніпуляцій.
- Теми підтримуються рідною збірки Windows.
- Були різні виправлення і поліпшення продуктивності.
Що нового у версії 0.9.2:
- Різні дрібні удосконалення функцій і виправлень були зроблені в цьому реліз.
- Нові можливості включають підтримку Unicode випадок-карт, утиліту для атомної виконання, зручну утиліту бенчмаркінгу і громадський API для підпрограм покоління C-код.
- бінарний інсталятор для Windows тепер поставляється у вигляді файлу MS Installer, породженої WiX.
Що нового у версії 0.9.1:
- Ця версія додає безліч нових можливостей, в тому числі: ефективне записи, вдосконалений механізм модуль з перейменуванням і префікса, розширені Форман для додаткових і іменованих аргументів, часткові продовження, пули потоків, кращої підтримки Windows, JSON розбору, Blowfish хешування паролів і багато іншого.
Що нового у версії 0.9:
- C API несумісні зміни: Кілька несумісні зміни C API вводяться , які можуть викликати деякі розширення помилку компіляції. См Зміни API в 0,9 для деталей.
- Нові можливості:
- Новий модуль: rfc.zlib :. Zlib стиснення / декомпресії
- Новий модуль: rfc.sha: підтримка SHA2. rfc.sha1 витісняється цим модулем.
- Новий модуль: util.sparse: розріджених векторів підкріплені простору ефективних синтаксичного дерева, і хеш-таблиці реалізовані поверх розріджених векторів. Вони знаходяться в пам'яті ефективніше, ніж BuiltIn хеш-таблиць, якщо ви хочете, щоб десятки мільйонів записів.
- Autoprovide: Вам більше не потрібно «забезпечити анкету для самих разів. Якщо (& вимагають дюйм х & Quot;) успішно завантажує X.scm і не мають форми, забезпечити функцію & дюйм х & Quot; надається автоматично. См & Quot; вимагати і забезпечувати & Quot; розділ довідки для більш докладної інформації.
- Модуль gauche.test: поліпшення тестування для виключення. Тепер ви можете перевірити, чи є конкретний тип умови кинутий, даючи (тест-помилка стан типу) в якості очікуваного результату. См ручне введення для більш докладної інформації.
- Модуль rfc.http: Тепер обробляє проксі по: проксі аргументу ключових слів. Ви також можете легко створювати додатки / X-WWW-форм-urlencoded та повідомлення з декількох частин / форм-даних для відправки параметрів форми. Нові процедури :. HTTP-ставити і HTTP-видалити
- Модуль rfc.mime :. Додана підтримка складання повідомлення MIME
- Модуль gauche.threads: Нові процедури :. Тема-стоп!, Потоків продовження!, Нитка стану
- Модуль gauche.termios: На вбудованою підтримкою ОС Windows, цей модуль включає в себе вікна консолі API замість POSIX termios API, так emulationg POSIX termios на вікнах занадто багато. Набір команд для API високого рівня, які можуть бути використані як на POSIX і Windows, також додаються.
- Модуль gauche.dictionary забезпечує двонаправлену карту ,.
- Run-процес в модулі gauche.process і Вбудована команда SYS-Exec і SYS-вилки-і-Exec підтримка :. Аргумент ключовими словами каталог, вказати робочий каталог виконуваного процесу
- Модуль file.util забезпечує створення, каталог дерево і реєстрація каталогів дерево.
- Модуль gauche.net здійснює операції з сокетами низького рівня: Socket-SendMsg, розетка-buildmsg, і гніздо-Ioctl. Call-с-клієнт-роз'єм приймає нові аргументи ключових слів, щоб вказати режим буферизації для сокета.
- Модуль www.cgi :. CGI-головний перемикає режим буферизації потік помилок в лінії, так що журнал HTTPD може записувати повідомлення про помилки лінії за лінією (набагато менше безладу, ніж раніше)
- Основні виправлення і поліпшення:
- Виправлена проблема збірки на OSX 10.6 (Snow Leopard).
- Продуктивність значно покращилася на число з плаваючою точкою арифметики, додаткова обробка аргументів з BuiltIn процедур, і в кожному випадку лямбда.
- Тепер все пробільні символи, визначені в R6RS працює intertoken простору у вихідному коді.
- застережливе повідомлення друкується, коли потік виходить з помилкою і ніякий інший потік вилучення його статус потоків приєднуйтесь! до нитки ГХ-е вид. Це допомагає несправностей. З токарно-приєднуйтесь! це єдиний спосіб дізнатися, якщо потік exitted помилкою, ви або зателефонувати потоків приєднуйтесь! щоб переконатися, перевірити стан або написати різьблення перетворювач, щоб зловити всі помилки і обробляти їх належним чином.
- Anonymous ім'я модуля #f зараз, замість того, щоб (кілька довільно вибраних) | # |.
- Деякі удосконалення на символи: 'uninterned "SymbOS офіційно не підтримується (символи, які генеруються GENSYM були uninterned, але не була документована офіційно). Uninterned символи записуються у вигляді #: символ ла CommonLisp. Uninterned символи не зареєстровані на внутрішній символьної таблиці, тому немає сенсу турбується про ім'я аварії. Єдиний спосіб, щоб звернутися до тієї ж uninterned символ з більш ніж одного місця у вихідному коді є використання SrfI-38 позначення (# N = і # N #). Ви можете створити uninterned символ, string- і GT; uninterned-символом і перевірити символ інтернований або не символ-intened?. Існує також нова процедура, символ-без-префіксом.
Що нового у версії 0.8.14:
- Це про технічне обслуговування, у тому числі кумулятивних виправлень і численні дрібні поліпшення і виправлення.
- Частина ВМ був переписаний для кращої продуктивності і ремонтопридатності.
Коментар не знайдено