Chicken е свободен и отворено приложение източник компилатор за езика Схема за програмиране. Той е съвместим с операционната система Linux / UNIX.
Пиле произвежда ефективно и преносими C, и да го подкрепя много от стандарта текущия език схема (виж списъка по-долу за повече подробности).
Тя осигурява вън-на-на-кутия подкрепа за SRFI 0 (дир-разширяване), SRFI 1 (Списък библиотека), SRFI 2 (и-нека *), SRFI 4 (хомогенно числови векторни типове данни), SRFI 6 (Basic струнни пристанища ), SRFI 8 (получите), SRFI 9 (типове Record), SRFI 10 (#, външен вид), SRFI 13 (String библиотека), SRFI 14 (Character зададете библиотека), SRFI 16 (съдебна ламбда), SRFI 17 ( Общата набор!), SRFI 18 (Многонишково подкрепа), SRFI 23 (грешка), SRFI 25 (многомерен масив примитиви), SRFI 26 (нарязани, сладко), SRFI 28 (формат), SRFI 30 (блок коментари), SRFI 37 ( аргумент Program процесор), SRFI 38 (външно представителство за данни с обща структура), SRFI 39 (Параметри), SRFI 40 (Stream библиотека), SRFI 42 (Винаги на схващания), SRFI 43 (Vector библиотека) и SRFI 55 (изискват-разширение ).
Какво ново в тази версия:
- Тази версия включва няколко важни поправки по сигурността и сривове, след едно неотдавнашно бъг лов гуляй от нашите основни хакери.
Какво ново във версия 4.8.0.5:
- Тази версия включва няколко важни поправки по сигурността и сривове, след едно неотдавнашно бъг лов гуляй от нашите основни хакери.
Какво ново във версия 4.8.0.3:
- Тази версия предимно фиксира бъг на Linux и Solaris, което предизвиква голямо използване на CPU, когато чака дете процес I / O.
Какво ново във версия 4.8.0.2:
- Interpreter:
- Fix регресия, г за процедури, което е довело до грешка sprintf.
- Compiler:
- Fix пренаписване на нови редове (~~) в ФОРМАТ.
- Runtime:
- Позволи & GT; 4GB грамада на 64-битови системи (# 974).
- Добавена липсваща библиотека (-lrt) върху Solaris за nanosleep повиквания (# 970).
- Изграждане система:
- Използвайте тест -f вместо тест -e в identify.sh да умилостивят Solaris.
Какво ново във версия 4.8.0.1:
- Използвайте POSIX анкета () на системи, където има такива. Това избягва недостатъци в проектирането изберете (); тя поддържа не повече от FD_SETSIZE дескриптори.
- Основни библиотеки:
- Фиксирана EINTR работа в процес,-засада и при четене от файловете пристанища.
- Bugfix за irregex (# 686). Забележка:. Въпреки irregex.scm сега казва, версия 0.9.2, версията е всъщност 0.8.3 плюс няколко backported петна
- Фиксирана проблем в "направи-името на пътя", която се завърна абсолютен път, ако се има предвид относително един без аргумент директория.
- На 64-битови системи идентификатор функция "64bit" на регистрирането му.
- Compiler:
- Фиксирани различни бъгове в базата данни тип.
- Фиксирани бъгове и подобрения в scrutinizer.
- В потока анализ пас, типово съответствие на комбинации от "списък" / "списък-на" видове е постигнат по-надежден.
- Синтаксис разширител:
- Направи макро-преименуван определя в започнат органи (вътрешни модули) видими за по-късните форми. (# 944).
- Runtime система:
- Фиксирана неправилен код в превръщането на чуждестранната аргумент за "грозен-integer64" (# 955).
- Основни инструменти:
- Пътят на изпълнение свързващата за компилирани изпълними не е зададена правилно на FreeBSD системи.
- Fix инсталирате-разширение счупване, когато вторият Arg съдържа двойки (SRC DST).
- Изграждане система:
- Prevent възстановяването на buildversion.scm на всеки да направи (1) на Windows.
<> Li поправки по сигурността:
Какво ново във версия 4.8.0:
- Интерфейси и functors са били добавени към системата за модул.
- Системата за тип е бил удължен.
- Голям брой поправки и общо почистване са направили в компилатора, по време на работа на системата, основните библиотеки и синтаксис разширител.
Какво ново във версия 4.6.0:
- Някои съставител оптимизации са значително подобрени.
- Няколко вградени процедури и разпределението процедури за списъци, вектори и структури генерират по-бързо код.
- Units srfi-4 и srfi-18 са били тежко почистват и оптимизирани.
- Няколко бъгове са фиксирани в планировчика на конеца.
- пиле инсталиране е бил удължен, и неговото напречно подкрепа компилация е значително подобрена.
- Системата за натрупване вече поддържа повече платформи и компилатори.
- Различните инфраструктурни скриптове са били преразгледани, за да се отрази на структурата на новата инфраструктура Web сайт.
Какво ново във версия 4.4.0:
- системата вече може да бъде построена с llvm-ССЗ и / или "трясък" (съставител LLVM C, която не използва интерфейса GNU C)
- добавена нова опция `-trunk 'до' пиле инсталиране", която сграда сили и инсталирането на версия развитие на разширения в комбинация с `-t местния"
- добавена нова опция `-deploy 'до' пиле инсталиране", която изгражда разширение за използване в "разгърнати" приложения (виж по-долу)
- добавена опция `-deploy 'до' CSC", водачът на компилатора. С тази опция `CSC" може да се изгради напълно самостоятелни пакети за кандидатстване и двойни-кликва Macintosh GUI приложения; вижте "Мобилизация" употреба глава за повече информация
- директорията даден на -prefix "вариант на` пиле-инсталирате '`сега може да бъде роднина името на пътя.
- отстранява GUI-специфична изпълними библиотеки (`libchicken-GUI") от Windows изгради
- GUI- и не-GUI приложения вече използват една и съща изпълнимата библиотека
- специални форми на интерфейса на чужд функция са заменени с вътрешна форма и синтаксис, за да позволи на преименуването и сенки от тези форми
- новата -Частна-хранилище "опция в` CSC "` компилира изпълними с пътя на разширение-хранилище настроен на директорията, от която е започнал програмата
- `CSC": отхвърлена на `-W 'и` -Windows "опции, добавят` -gui "като платформа-независимо заместване
- `изискват-разширение" / `употреба" приема предприятието внос-спецификации
- `изтриете файл [*] ',` преименувате-файл ",` създаде-директория ",` файл-копие ",` файл-ход ",` изтривате-директория' и `промяна-директория" върне своя аргумент, / местоназначение име на успех
- добавя липсващата процедурата `състояние-променлива име" да srfi-18 библиотека единица (Благодарение на Йорг Wittenberger)
- на `Глоб? функция от `регулярни" единицата е била отхвърлена
- добавена процедурата `сканирате-входните линии" към `Utils" библиотека елемент
- добавена нова опция по време на работа `-: г", която дава възможност GC грешки по
- рекултивация на неизползваните символи в режим "символ-GC" (`-: w") сега се извършва само за символи с празен имот-списък
- относно Windows зареждане на код компилиран с [недопускане] GUI Времетраене библиотеки ще се провалят и произвеждат съобщение за грешка, когато товарната изпълнимия е свързан с различен по време на работа на системата
- относно Windows, GUI библиотеки не са били правилно свързани чрез `CSC"
- единица POSIX: добави сетер за `файл-модификация време"
- знамето показва branchname на изграждане, освен ако това е "магистър"
- на "възможността за` пиле-инсталирате '`-не-инсталиране се игнорира при изграждане / инсталирането зависимости
- `пиле-деинсталиране" отнема Глоб вместо регулярен израз като аргумент
- Преименуване и сравни функции за ниско ниво макро дефиниции приемат сега произволна S-изрази и преименува / ги сравнява рекурсивно
- `номер- & GT; низ" дръжки отрицателни-номерата с бази, различни от 10 правилно (благодарение на Петър Danenberg)
- отстранява отхвърлена `настройка инсталирате флаг 'и` настройка-многословно флаг "от модула` настройка-апи "
- добавена нова опция `-repository 'до' пиле инсталиране" (Благодарение на Christian Келерман)
- отстранява `пиле-настройка" мъниче програма
- корекция на `CSC" да се използва правилната библиотеката при определяне на динамични пътища натоварване (Благодарение на Derrell Piper)
- отстранява HTML документация от разпределение (ръководство на уики сега ще бъде инсталирана)
- фиксиран бъг в `реекспорт", което е причинило синтаксис не са правилно реекспортират
- предишни назначения до най-високо ниво променлива, които са разделени от странични ефекти безплатни изрази са отстранени
- фиксирана прозорци версия на `намерят-файлове" (благодарение на Джим Ursetto)
- документация за удължаване не може да се инсталира автоматично от `пиле-инсталирате" вече
- променила двоична версия от "4" до "5", защото по време на работа на новите библиотеки не са двоично-съвместими с предишните версии; това означава всички яйца трябва да се преинсталира и да бъдат прекомпилирани съществуващите програми!
- добавена Unboxing пас компилатор, който води до частично драматични подобрения в производителността за небезопасен плаваща точка-интензивно код; Unboxing е активиран на нива оптимизация 4 и 5
- отстранява почивка-аргумент-вектор оптимизация, тъй като биха могли да влязат в конфликт с операции успях (благодарение на Sven Hartrumpf)
- преименуван `показалка-офсет" на `показалеца +" и отхвърлената `показалка-отместване"
- най-високо ниво задачи, които нямат други странични ефекти могат да бъдат премахнати, ако може да се докаже, че стойността не се използва (компилаторът ще генерира предупреждение в този случай)
- отстранява отхвърлена -quiet "опция в` пиле "` програма
- отстранява отхвърлена `по време на изпълнение на макроси-декларация"
- отстранява отхвърлена `-v2 'и` -v3 "опции в програмата` CSC "
- отстранява отхвърлена `списък-на" функция (това е изключително достъпен като `списък-на? сега)
- отстранява отхвърлена `за-всяка-лайн 'и` за-всяка-argv Онлайн "процедури в UTILS библиотека елемент
- добавя `fpinteger? и `fpabs"
- отхвърлена `определи компилирани-синтаксис"
- добавя нови плаваща запетая примитиви `fpsin ',` fpcos ",` fptan', `fpasin ',` fpacos ",` fpatan', `fpatan2 ',` fpexp', `fplog ',` fpexpt' и ` fpsqrt "
- тежката почистване на плаващи математически функции, което дава много по-добри резултати, особено за код, съставен в опасна режим
- наричайки `защитава" с единствен аргумент показва тестван изражението на провал
- различни поправки и почистване
<> Ли потребителски дефинирани удължители-спецификатори и `зададете-разширение-спецификатор!" са отстранени
<> Li отстранява отхвърлена `статис -..." функции в POSIX библиотека елемент
Какво ново във версия 4.2.0:
- пиле-инсталирате е бил променен, за да сортирате библиотечни зависимости в топологичен ред, и да се опита алтернативни сървъри ако сървъра яйце реагира с грешка.
- The изпълним стека в сглобяване код модули е изключена по подразбиране.
- Много бъгове са фиксирани в изграждането MinGW.
- Няколко нови опции са добавени към компилатора и преводача.
Какво ново във версия 3.4.0:
- Компилаторът вече поддържа селективна профилиране процедура.
- Всички процедури, свързани с файловете са преместени в нови единични файлове.
- Установени са многобройни поправки на Cygwin и MinGW изгражда.
- PCRE пакет с пиле е била актуализирана.
Коментари не е намерена