Цыпленок является свободным и открытым исходным кодом приложения компилятор для языка программирования Scheme. Он совместим с операционной системой Linux / UNIX.
Курица производит эффективное и портативный C, и поддерживает многие из стандарта текущей языковой схеме (см список ниже).
Она обеспечивает вне коробки поддержка SRFI 0 (усл-расширения), SRFI 1 (Список библиотек), SRFI 2 (и пусть *), SRFI 4 (Однородные числовые векторные типы данных), SRFI 6 (Основные строковые порты ), SRFI 8 (получить), SRFI 9 (типы записей), SRFI 10 (#, внешняя форма), SRFI 13 (String библиотека), SRFI 14 (Набор символов библиотека), SRFI 16 (случай-лямбда), SRFI 17 ( Обобщенная набор!), SRFI 18 (поддержки многопоточности), SRFI 23 (ошибка), SRFI 25 (многомерный массив примитивов), SRFI 26 (вырезать, милый), SRFI 28 (формат), SRFI 30 (блок комментариев), SRFI 37 ( Аргумент Программа процессор), SRFI 38 (Внешнее представление данных с общей структурой), SRFI 39 (Параметры), SRFI 40 (библиотека Stream), SRFI 42 (Стремясь постижений), SRFI 43 (вектор библиотека) и SRFI 55 (требуется-расширение ).
Что нового В этом выпуске:
- Этот релиз включает несколько важных безопасности и исправления аварии, после недавней ошибка-охотничьего веселье наших основных хакеров.
Что нового в версии 4.8.0.5:
- Этот релиз включает несколько важных безопасности и исправления аварии, после недавней ошибка-охотничьего веселье наших основных хакеров.
Что нового в версии 4.8.0.3:
- Это, прежде всего, релиз исправляет ошибку на Linux и Solaris, который вызывает высокая загрузка ЦП при ожидании дочернего процесса I / O.
Что нового в версии 4.8.0.2:
- Переводчик:
- Исправлена регрессия в, г для процедур, которые привели к ошибке Sprintf.
- Компилятор:
- Исправлена перезапись новой строки (~~) в Printf.
- Продолжительность:
- Разрешить & GT; 4GB куча на 64-битных системах (# 974).
- Добавлена недостающая библиотека (-lrt) на Solaris для nanosleep вызовов (# 970).
- систему Телосложение:
- Использование тест -f вместо тест -е в identify.sh успокоить Solaris.
Что нового в версии 4.8.0.1:
- исправления безопасности:
- Использование POSIX опрос () на системах, где доступны. Это позволяет избежать ошибки проектирования в выберите (); он не поддерживает не более FD_SETSIZE дескрипторов.
- Основные библиотеки:
- Исправлена EINTR обработки в процессе ожидания и-при чтении из портов файлов.
- Исправление для irregex (# 686). Примечание:., Хотя irregex.scm теперь говорит версия 0.9.2, версия 0.8.3 является на самом деле, а также несколько адаптированы и патчи
- Исправлена проблема в "сделать-путь», который возвратил абсолютный путь, если дано относительное один без аргумента каталог.
- На 64-битных системах идентификатор функция "64bit" зарегистрирован.
- Компилятор:
- Исправлены различные ошибки в базе данных типа.
- Исправления и улучшения в Scrutinizer.
- В поток-анализ частот, типа сопоставления сочетаний "список" / "список-из" типов было сделано более надежным.
- Синтаксис расширитель:
- Сделать макро-переименован определяет в органы начинают (внутри модулей), видимые поздних форм. (# 944).
- Продолжительность:
- Исправлена некорректная код в обмен иностранной аргумента для "без знака-integer64" (# 955).
- Основные инструменты
- Путь выполнения компоновщик для скомпилированных исполняемых был установлен неправильно на системах FreeBSD.
- Fix установки-удлинитель поломку, когда второй аргумент содержит пары (SRC DST).
- систему Телосложение:
- Предотвращение восстановления из buildversion.scm на каждом сделать (1) на Windows.
Система
Что нового в версии 4.8.0:
- Интерфейсы и функторы были добавлены к системе модуля.
- Система типа был продлен.
- Большое количество исправлений и общего очистки было сделано в компиляторе, системы выполнения, основные библиотеки, и синтаксис расширителя.
Что нового в версии 4.6.0:
- Некоторые оптимизации компилятора были значительно улучшены.
- Несколько встроенных процедур и распределение процедур для списков, векторов и структур порождают более быстрый код.
- Единицы SrfI-4 и SrfI-18 были сильно очищены и оптимизированы.
- Несколько ошибок было исправлено в планировщик потоков.
- курица установка была расширена, и его поддержку кросс-компиляции была значительно модернизирована.
- Система сборки теперь поддерживает больше платформ и компиляторов.
- Различные сценарии инфраструктуры были пересмотрены, чтобы отразить структуру новой инфраструктуры веб-сайта.
Что нового в версии 4.4.0:
- система теперь может быть построен с LLVM GCC-и / или "звон" (компилятор LLVM С, который не использует внешний интерфейс GNU C)
- добавлена новая возможность `-trunk 'на` курицы установить ", строительство которого силы и установить версию развития расширений в сочетании с` -t местных "
- Добавлена новая опция `-Развертывание 'на` курицы установить ", которая строит расширение для использования в" развернутых "приложений (см ниже)
- добавлена опция `-Развертывание 'в` CSC ", водитель компилятор. С этой опцией `CSC" может построить полностью автономен пучки приложений и двойные клики приложения для Macintosh с графическим интерфейсом; увидеть "Deployment" ручной главу для получения дополнительной информации
- каталог, указанный в `-prefix 'опции` курицы установить "теперь могут быть относительный путь.
- удалить графический конкретных библиотека времени выполнения (`libchicken-GUI") из Windows, построить
- подсказки будут и не-GUI приложения теперь используют ту же библиотеку времени выполнения
- специальные формы интерфейса внешней функции были заменены с внутренней формы и синтаксиса, чтобы переименование и теневое копирование для этих форм
- новый "вариант в` `'CSC собственная репозитория компилирует исполняемые с пути расширения репозитория установить в каталог, из которого было запущено программа
- `CSC ': осуждал` -W' и `-Windows" варианты, добавил `-gui» как независимый от платформы замену
- `требует, расширение '/` использование "принимает предприятием Импорт-технические
- пользовательские расширения спецификаторы и `установить-расширение спецификатор!" были удалены
- `удалить-файл [*] ',` переименовать-файл', `создать-каталог ',` файл-копию', `файл-ход ',` удалять-каталог' и `Change-каталог" возвращают свой аргумент / назначения файла на успех
- добавил недостающую процедуру `условие переменной имя" в SRFI-18 библиотечного модуля (Спасибо Йорг Wittenberger)
- Параметр `Глоб? функция из `регулярных выражений 'блока устарела
- Добавлена процедура сканирования `входом и линии» к `утилиты" библиотечного модуля
- добавлена новая возможность выполнения `- ': г, которая позволяет ГК отладки выхода
- рекультивация неиспользуемых символов в режиме "Символ-ГК" (`-: W ') в настоящее время имеет место только для символов с пустой собственности списку
- на ОС Windows загрузка кода, составленного с [не-] библиотеки времени выполнения интерфейс не удастся, и производить сообщение об ошибке, когда загрузка исполняемого связана с другой системой исполнения
- на Windows, библиотек GUI не были правильно соединены `CSC '
- Блок POSIX: добавлена примером для `файлов модификации времени
- баннер показывает branchname из сборки, если это не "мастер"
- вариант учета в `курицы установить '` -no-установки игнорируется при создании / установка зависимостей
- `курицы удалить" занимает Glob вместо регулярное выражение в качестве аргумента
- Переименовать предложения функции для низкоуровневых макро-определений принять в настоящее время произвольного S-выражения и переименовывает / сравнивает их рекурсивно
- `номер- & GT; строка 'обрабатывает отрицательной число с основаниями, отличными от 10 правильно (спасибо Петру Danenberg)
- удалены устаревшим `Настройка установите флаг 'и` настройки-подробный-флаг' из модуля `Настройка-API"
- добавлена новая возможность `-repository 'на` курицы установить "(Спасибо христианской Kellermann)
- удалить `курицы установки" заглушки программа
- фикс `CSC", чтобы использовать правильный библиотеку при установлении пути динамическая нагрузка (Спасибо Derrell Пайпер)
- удалены HTML документация от распределения (теперь будут установлены ручной вики)
- Исправлена ошибка в `реэкспорта", который, причиненный синтаксис не будет правильно реэкспорта
- предыдущие присваивания переменной верхнего уровня, разделенных побочный эффект свободных выражений удаляются
- фиксированной окна версия 'найти-файлов "(спасибо Джим Ursetto)
- документация для расширения не установлен автоматически `курицы установить" больше
- изменились бинарную версию от "4" до "5", потому что новые библиотеки времени выполнения не двоичную совместимость с предыдущими версиями; это означает, что все яйца переустановить и существующие программы перекомпилировать!
- добавил распаковки пас на компилятор, который приводит в частично драматических улучшений производительности для небезопасных с плавающей точкой интенсивно кода; распаковка включен уровней оптимизации 4 и 5
- удалены остальные аргументов вектор оптимизации, как это может конфликтовать с встраивания (благодаря Свен Hartrumpf)
- переименован `указатель смещения 'на` указатель +' и `устаревшим указатель смещения
- верхнего уровня задания, которые не имеют других побочных эффектов не могут быть устранены, если это может быть доказано, что значение не используется (компилятор генерирует предупреждение в данном случае)
- удалить `-quiet" вариант в `курица" устарела программа
- удалены устаревшим `время выполнения макросов-декларация
- удалены устаревшим `-v2 'и` -v3' опции в программе `CSC '
- удалены устаревшим `список из-'функции (это эксклюзивно как` список из-? сейчас)
- удалены устаревшим `стат -..." функции в библиотеке POSIX блока
- удалены устаревшим `для каждого-линии 'и' для каждого-ARGV-линии" процедур в утилит блок библиотека
- добавил `fpinteger? и `fpabs '
- устаревшим `определить скомпилированные-синтаксис
- добавлены новые плавающей запятой примитивы `fpsin ',' fpcos ',` FPTAN', `fpasin ',' fpacos ',` fpatan', `fpatan2 ',` fpexp', `fplog ',` fpexpt' и ` fpsqrt
- тяжелых очистки с плавающей математические функции, которые дает гораздо более высокую производительность, особенно для кода, составленного в небезопасном режиме
- вызвав `утверждать 'с одним аргументом показывает тестирование выражение отказа
- различные исправления и очистки
Что нового в версии 4.2.0:
- курица установить был изменен, чтобы отсортировать библиотеки зависимостей в топологического порядка, и попытаться альтернативные серверы, если сервер отвечает яйцо с ошибкой.
- Исполняемый стек в код модулей сборки по умолчанию отключена.
- Многие ошибки были исправлены в сборке MinGW.
- Несколько новых опций были добавлены в компилятор и интерпретатор.
Что нового в версии 3.4.0:
- компилятор поддерживает процедуры отбора профилирования.
- Все процедуры, связанные с файлами были перемещены в новые файлы на единицу продукции.
- Там были многочисленные исправления в Cygwin и MinGW строит.
- PCRE в комплекте с курицей был обновлен.
Комментарии не найдены