Chicken je zdarma a open source aplikace překladač pro programovacího jazyka Scheme. Je kompatibilní s operačním systémem Linux / UNIX.
Kuřecí maso vyrábí účinné a přenosné C, a to podporuje mnoho současného systému jazykové normy (viz seznam níže).
Poskytuje out-of-the-box podporu pro SRFI 0 (cond-rozšíření), SRFI 1 (seznam knihovny), SRFI 2 (a-nechte *) SRFI 4 (homogenní číselná vektor datové typy), SRFI 6 (Basic řetězec porty ), SRFI 8 (příjem), SRFI 9 (typ záznamu), SRFI 10 (#, vnější forma), SRFI 13 (String knihovna), SRFI 14 (Znaková sada knihovna), SRFI 16 (case-lambda), SRFI 17 ( Generalizovaná set!), SRFI 18 (multithreading podpora), SRFI 23 (error), SRFI 25 (vícerozměrné pole primitiva), SRFI 26 (střih, roztomilý), SRFI 28 (formát), SRFI 30 (komentáře bloků), SRFI 37 ( Program argument, procesor), SRFI 38 (Vnější zastoupení pro data se sdílenou strukturou), SRFI 39 (Parametry), SRFI 40 (Stream knihovna), SRFI 42 (Eager comprehension), SRFI 43 (Vector knihovna) a SRFI 55 (vyžaduje-prodloužení ).
Co je nového v této verzi:
- Tato verze obsahuje několik důležitých bezpečnostních a crash opravy po nedávném bug-lovecké řádění našich klíčových hackery.
Co je nového ve verzi 4.8.0.5:
- Tato verze obsahuje několik důležitých bezpečnostních a crash opravy po nedávném bug-lovecké řádění našich klíčových hackery.
Co je nového ve verzi 4.8.0.3:
- Tato verze opravuje chybu v první řadě na Linuxu a Solarisu, který způsobuje vysoké využití při čekání na podřízený proces I / O.
Co je nového ve verzi 4.8.0.2:
- Interpreter:
- Fix regrese v, d postupy, což vedlo k chybě sprintf.
- Compiler:
- Fix přepis konce řádků (~~) v printf.
- Runtime:
- Povolit & gt; 4 gb haldy na 64-bitových systémech (# 974).
- Přidána chybějící knihovna (-lrt) na Solarisu pro nanosleep volání (# 970).
- Build systém:
- Kontrola používání -f namísto zkušebního -e v identify.sh uklidnit Solaris.
Co je nového ve verzi 4.8.0.1:
- opravy zabezpečení:
- Použít POSIX poll () na systémech, kde jsou k dispozici. Tím se zabrání konstrukční chyba v select (); podporuje více než FD_SETSIZE deskriptorů.
- Hlavní knihovny:
- Pevná EINTR nakládání s ním v procesu-záloze a při čtení ze souboru přístavů.
- Oprava chyby pro irregex (# 686). Poznámka:. Ačkoli irregex.scm nyní tvrdí, verze 0.9.2, verze 0.8.3 je vlastně plus několik backported patchů
- Opraven problém v "make-cestu", který vrátil absolutní cestu, pokud daný relativní jedno bez adresářové argument.
- na 64-bitových systémech identifikátor funkce "64bit" je registrována.
- Compiler:
- Opraveny různé chyby v typu databáze.
- Opravy chyb a vylepšení v Scrutinizer.
- V flow-analýza průchodu, typu párování kombinací "seznam" / "list-of" typů bylo dosaženo spolehlivější.
- Syntax expander:
- Zkontrolujte, makro-přejmenována definují v začíná těla (vnitřní moduly) viditelné pro pozdější formy. (# 944).
- Runtime systém:
- Pevná nesprávný kód v přepočtu cizí argument "nepodepsaného-integer64" (# 955).
- Základní nástroje:
- Runtime linker cesta pro kompilované spustitelné nebyl správně nastaven na systémy FreeBSD.
- Fix install-rozšíření poškození, když druhý argument obsahuje dvojice (SRC DST).
- Build systém:
- Zabránit přestavba buildversion.scm na každém make (1) v systému Windows.
Co je nového ve verzi 4.8.0:
- Rozhraní a functors byly přidány do modulového systému.
- Typ systém byl rozšířen.
- velké množství oprav a obecné vyčištění byly provedeny v kompilátoru, runtime systému, jádro knihoven, a syntax expandérů.
Co je nového ve verzi 4.6.0:
- Některé optimalizace kompilátoru byly výrazně zlepšila.
- Několik vestavěné postupy a postupy pro přidělování seznamy, vektorů, a struktur tvořit rychlejší kód.
- Jednotky srfi-4 a srfi-18 byli těžce vyčištěno a optimalizovány.
- Některé chyby byly opraveny v plánovače vláken.
- kuře-install byla rozšířena, a jeho příčný podpůrný kompilace byl výrazně aktualizován.
- build systém nyní podporuje více platforem a kompilátory.
- Jednotlivé skripty infrastruktury byly přepracována tak, aby odrážely strukturu nového webu infrastruktury.
Co je nového ve verzi 4.4.0:
- Systém může být nyní stavěny s LLVM-GCC a / nebo "zazvoněním" (překladač LLVM C, která nepoužívá frontend GNU C)
- přidal novou možnost `-trunk 'na` chicken-install', který budova síly a instalaci vývojovou verzi rozšíření v kombinaci s `-t local '
- přidal novou volbu `-deploy 'na` chicken-install', který vychází rozšíření pro použití v "nasazeny" aplikace (viz níže)
- přidána volba `-deploy 'na` CSC ", řidič kompilátor. S touto volbou `CSC 'můžete vytvořit plně balíčky aplikací soběstačné a dvakrát kliknout aplikace Macintosh GUI; vidět "nasazení" manuální kapitole pro více informací
- adresář věnována `-prefix" možnost `kuřecí-install 'může nyní být relativní cesta.
- odstraněny GUI specifické runtime knihovna (`libchicken-gui ') z Windows stavět
- pomoc směřující a non-GUI aplikace nyní používají stejný runtime knihovnu
- zvláštní formy zahraniční funkčním rozhraním byly nahrazeny s vnitřní formou a syntaxe umožňující přejmenování a zastínění těchto forem
- Nový `soukromé-údajů" možnost v `CSC 'kompiluje spustitelné soubory s příponou-úložiště cesta nastavena na adresáři, ze kterého byl spuštěn program
- `csc ': zastaralé oblast` -W' a `-Windows" volby, dodal `-gui 'jako náhrada platformě nezávislý
- `vyžadují-rozšíření '/` použití "přijímá nyní import-specifikace
- uživatelem definované extension-specifikací a `set-extension-specifier!" byly odstraněny
- `delete-soubor [*] ',` přejmenovat-file', `create-adresář ',` kopírování souborů', `file-tah ',` odstranit-adresář' a `change-directory" vrátit svůj argument / destinace filename o úspěchu
- dodal chybějící postup `podmínka variabilní-name" na srfi-18 knihovní jednotky (Díky Joerg Wittenberger)
- `glob?" Funkce z `regex" jednotka již nepoužívá
- přidal postup `Scan-input-linky" k `utils" knihovní jednotky
- přidal novou možnost runtime `-: g", který umožňuje GC ladění výstup
- rekultivace nepoužívaných symbolů v režimu "symbol-GC" (`-: w ') nyní probíhá pouze pro symboly s prázdným majetkové seznamu
- na Windows zatížení kódu sestaven s [ne] GUI runtime knihovny se nezdaří a vyrábět chybová zpráva, když je plnicí spustitelný soubor s jiným runtime systému
- na Windows, GUI knihovny nebyly správně propojeny `CSC '
- jednotka POSIX: přidána seřizovač pro `file-modifikace-time"
- banner zobrazuje branchname na sestavení, pokud je to "master"
- "možnost` chicken-install '`-no-nainstalovat, je ignorována při vytváření / instalaci závislostí
- `chicken-odinstalovat" bere kapička namísto regulární výraz jako argument,
- Přejmenovat .com funkce pro low-level makro-definice přijmout nyní arbitrární s-výrazy a přejmenuje / srovnává je rekurzivně
- `číslo-& gt; řetězec 'manipuluje také se zápornými čísly se základy odlišné od 10 správně (díky Peteru Danenberg)
- odstraněny zastaralé `setup-Install-příznak 'a` setup-podrobného-vlajka z modulu `setup-api"
- přidal novou možnost `-repository 'na` chicken-install' (díky křesťanskému Kellermann)
- odstraněn `chicken-setup 'útržek programu
- oprava `CSC" použít správný knihovnu při stanovení dynamické zatížení cest (Díky Derrell Piper)
- odstraněny html dokumentace od distribuce (wiki ruční bude nyní instalován)
- opravena chyba v `zpětnému vývozu", který způsobil syntaxi, která nejsou řádně reexportovány
- předchozí zařazení do kořenového proměnné, které jsou odděleny bez vedlejších účinků výrazy jsou odstraněny
- pevná okna verze `Find-souborů" (Díky Jim Ursetto)
- dokumentace pro rozšíření není automaticky nainstalován `chicken-install 'už
- změna binární verzi ze "4" na "5", protože nové runtime knihovny nejsou binární kompatibilní s předchozími verzemi; to znamená, že všechny vejce musí být přeinstalovat a stávající programy recompiled!
- přidal Rozbalení přihrál kompilátor který má za následek částečně dramatické zlepšení výkonu pro nebezpečné floating-point-intenzivní kódem; Rozbalení je povoleno na optimalizaci úrovních 4 a 5
- odstraněn zbytek-Argument-vektor optimalizace, jak by to mohlo být v rozporu s inlining (díky Sven Hartrumpf)
- přejmenoval `ukazatel-offset 'na` ukazatel + "a zastaralé` ukazatel-offset "
- toplevel úkoly, které mají žádné jiné vedlejší účinky mohou být odstraněny, pokud lze prokázat, že hodnota není použita (kompilátor vygeneruje varování v tomto případě)
- odstraněny zastaralé `-quiet" možnost v `kuře" Program
- odstraněny zastaralé `run-time-maker prohlášení"
- odstraněny zastaralé `-V2 'a` -v3 "možnosti v programu` csc'
- odstraněny zastaralé `list-of" funkce (je k dispozici výhradně jako `list-of?" teď)
- odstraněny zastaralé `stat -... 'funkce v POSIX knihovní jednotky
- odstraněny zastaralé `for-each-linka 'a` for-each-argv-linka "postupů v utils knihovní jednotky
- přidal `fpinteger?" a `fpabs '
- zastaralé `definovat-kompilovaný-syntaxi '
- přidány nové plovoucí desetinnou čárkou primitiv `fpsin ',` fpcos', `fptan ',` fpasin', `fpacos ',` fpatan', `fpatan2 ',` fpexp', `fplog ',` fpexpt' a ` fpsqrt '
- těžký vyčištění plovoucí matematické funkce, které poskytuje mnohem lepší výkon, zejména pro kód sestavený v nebezpečném režimu
- volá `assert" s jediným argumentem ukazuje testovaný výraz selhání
- různé opravy chyb a vyčištění
Co je nového ve verzi 4.2.0:
- kuře instalaci byl upraven tak, aby třídit knihovny závislostí v topologické pořadí, a vyzkoušet alternativní servery v případě, že vejce server odpoví s chybou.
- spustitelný stack modulů kódu sestavení je ve výchozím nastavení zakázán.
- Mnoho chyby byly opraveny v sestavení MinGW.
- Několik nových možnosti byly přidány do kompilátoru a interpretu.
Co je nového ve verzi 3.4.0:
- Kompilátor nyní podporuje výběrového řízení profilaci.
- Všechny postupy spojených se soubory byly přesunuty do nové jednotky soubory.
- Tam byly četné opravy do Cygwin a MinGW staví.
- PCRE svázaný s kuřecím masem byla aktualizována.
Komentáře nebyl nalezen