Chicken is een gratis en open source compiler applicatie voor de programmeertaal Scheme. Het is compatibel met de Linux / UNIX-besturingssysteem.
Kip produceert efficiënte en draagbare C, en het ondersteunt veel van de huidige regeling taal standaard (zie de lijst hieronder voor details).
Het biedt out-of-the-box ondersteuning voor Srfl 0 (olv-uitbreiding), Srfl 1 (List bibliotheek), Srfl 2 (en-laten *), Srfl 4 (Homogene numerieke vector datatypes), Srfl 6 (Basic reeks poorten ), Srfl 8 (ontvangen), Srfl 9 (types Record), Srfl 10 (#, uiterlijke vorm), Srfl 13 (String bibliotheek), Srfl 14 (Tekenset bibliotheek), Srfl 16 (case-lambda), Srfl 17 ( gegeneraliseerde set!), Srfl 18 (Multithreading ondersteuning), Srfl 23 (fout), Srfl 25 (Multidimensional reeks primitieven), Srfl 26 (knippen, schattig), Srfl 28 (formaat), Srfl 30 (Blok opmerkingen), Srfl 37 ( programma argument processor), Srfl 38 (Externe vertegenwoordiging voor data met gedeelde structuur), Srfl 39 (Parameters), Srfl 40 (stroom bibliotheek), Srfl 42 (Eager comprehensies), Srfl 43 (Vector bibliotheek) en Srfl 55 (vereisen-extensie ).
Wat is nieuw in deze release:
- Deze release bevat een aantal belangrijke beveiligings- en crash fixes, na een recente bug-jacht spree door onze kern hackers.
Wat is nieuw in versie 4.8.0.5:
- Deze release bevat een aantal belangrijke beveiligings- en crash fixes, na een recente bug-jacht spree door onze kern hackers.
Wat is nieuw in versie 4.8.0.3:
- Deze versie hoofdzakelijk lost een bug op Linux en Solaris, die hoge CPU-gebruik veroorzaakt tijdens het wachten voor een kind proces I / O.
Wat is nieuw in versie 4.8.0.2:
- Interpreter:
- Fix regressie in, d voor de procedures, wat resulteerde in een sprintf fout.
- Compiler:
- Fix herschrijven van de nieuwe regels (~~) in printf.
- Runtime:
- Laat & gt; 4GB heap op 64-bit systemen (# 974).
- Toegevoegd ontbrekende library (-lrt) op Solaris voor nanosleep gesprekken (# 970).
- Build-systeem:
- Gebruik de testresultaten -f in plaats van de test -e in identify.sh te paaien Solaris.
Wat is nieuw in versie 4.8.0.1:
- Beveiliging fixes:
- Gebruik POSIX poll () op systemen waar beschikbaar. Dit voorkomt een ontwerpfout in select (); het ondersteunt niet meer dan FD_SETSIZE omschrijvingen.
- Core bibliotheken:
- Vast EINTR behandeling in proces-wachten en bij het lezen van het bestand poorten.
- Bugfix voor irregex (# 686). Opmerking:. Hoewel irregex.scm zegt nu versie 0.9.2, de versie is eigenlijk 0.8.3 plus een paar backported flarden
- Vast probleem in "make-padnaam", dat een absoluut pad terug als ze een familielid een zonder een directory argument.
- Op 64-bits systemen de functie identifier "64bit" wordt geregistreerd.
- Compiler:
- Fixed verschillende bugs in het type database.
- Bugfixes en verbeteringen in de Scrutinizer.
- In de stroom-analyse pas, het type-matching van combinaties van "lijst" / "-lijst van" types is betrouwbaarder gemaakt.
- Syntax expander:
- Maak macro-omgedoopt definieert in beginnen lichamen (in modules) zichtbaar voor latere vormen. (# 944).
- Runtime-systeem:
- Vast verkeerde code in de vreemde redenering conversie voor "unsigned-integer64" (# 955).
- Core gereedschappen:
- De runtime linker pad voor gecompileerde uitvoerbare bestanden is niet correct ingesteld op FreeBSD systemen.
- Fix install-extensie breuk wanneer de tweede arg bevat paren (SRC DST).
- Build-systeem:
- Voorkom wederopbouw van buildversion.scm op elke maken (1) van Windows.
Wat is nieuw in versie 4.8.0:
- Interfaces en functoren toegevoegd aan het modulesysteem.
- Het type systeem is uitgebreid.
- Een groot aantal bugfixes en algemene cleanup zijn gedaan in de compiler, runtime-systeem, de kern bibliotheken, en syntaxis expander.
Wat is nieuw in versie 4.6.0:
- Een aantal compiler optimalisaties zijn aanzienlijk verbeterd.
- Verscheidene ingebouwde procedures en de toewijzing procedures voor lijsten, vectoren en structuren te genereren sneller code.
- Eenheden Srfl-4 en Srfl-18 zijn zwaar opgeruimd en geoptimaliseerd.
- Verscheidene bugs verholpen in de thread scheduler.
- kip-installatie is uitgebreid, en de cross compilatie steun is aanzienlijk verbeterd.
- De build systeem ondersteunt nu meer platforms en compilers.
- De verschillende infrastructuur scripts zijn gereviseerd om de structuur van de nieuwe website van de infrastructuur te geven.
Wat is nieuw in versie 4.4.0:
- Het systeem kan nu worden gebouwd met llvm-gcc en / of "clang" (de LLVM C-compiler die de GNU C frontend niet gebruikt)
- nieuwe optie `-trunk toegevoegd 'aan' kip-install ', welke krachten de bouw en installatie van de ontwikkeling versie van extensies in combinatie met` -t lokale'
- toegevoegd nieuwe optie `-deploy 'naar` kip-install', die uitbreiding bouwt voor gebruik in "ingezet" toepassingen (zie hieronder)
- de optie `-deploy toegevoegd 'naar` CSC ", de compiler driver. Met deze optie `CSC 'kan volledig zelfstandige applicatie bundels en dubbel-klikbare Macintosh GUI apps te bouwen; zie de "Deployment" manual hoofdstuk voor meer informatie
- de directory gegeven aan de 'prefix' optie 'kip-install' kan nu een relatieve padnaam zijn.
- verwijderd GUI-specifieke runtime library (`libchicken-gui ') van Windows te bouwen
- GUI- en non-GUI applicaties gebruiken nu dezelfde runtime bibliotheek
- speciale vormen van de buitenlandse functie-interface zijn vervangen door een interne vorm en syntaxis te hernoemen en de schaduw van deze vormen mogelijk te maken
- de nieuwe `-Prive-repository 'optie' CSC 'compileert executables met de extensie-repository pad naar de map waar het programma werd gestart
- `csc": afgekeurde de `-W 'en` -Windows' opties, voegde `gui 'als een platform-onafhankelijke vervanging
- `vereisen-extensie '/' gebruik 'accepteert nu import-specificaties
- de gebruiker gedefinieerde extensie-voorschrijvers en `set-extensie-specificatie! ' zijn verwijderd
- 'delete-bestand [*]', `hernoemen-file ',` create-directory', `file-copy ',` file-move', `delete-directory 'en' change directory 'terugkeren hun betoog / bestemming filename op succes
- de ontbrekende procedure `conditie-variabele-naam 'toegevoegd aan de Srfl-18 bibliotheek unit (Met dank aan Joerg Wittenberger)
- de `glob? ' functie van de 'reguliere expressie' eenheid is afgekeurd
- de procedure toegevoegd `scan-input-lijnen 'naar de` utils' bibliotheek eenheid
- toegevoegd nieuwe runtime optie `-: g 'waarmee GC debuguitvoer
- drooglegging van ongebruikte symbolen in "symbool-gc" mode (`-: w ') nu vindt alleen plaats voor symbolen met een lege woning-lijst
- Windows laden van code gecompileerd met [niet] GUI runtime bibliotheken zal mislukken en produceren van een foutmelding bij het laden uitvoerbaar is verbonden met een andere runtime-systeem
- Windows, GUI bibliotheken werden niet goed met elkaar verbonden door 'CSC'
- eenheid posix: toegevoegd setter voor `file-modificatie-time '
- de banner toont de branchnaam van de bouw, tenzij het "master"
- de `-no-install 'optie' kip-install 'wordt genegeerd bij het bouwen / installeren afhankelijkheden
- 'kip-uninstall' neemt een klodder in plaats van een reguliere expressie als argument
- het hernoemen en vergelijk functies voor low-level macro-definities nu accepteren willekeurige s-uitingen en hernoemt / vergelijkt ze recursief
- `aantal- & gt; string 'grepen negatieve getallen met basen verschillend van 10 correct (met dank aan Peter Danenberg)
- verwijderd deprecated 'setup-install-vlag' en `setup-verbose-vlag 'van de' setup-api 'module
- nieuwe optie `-repository toegevoegd 'aan' kip-install '(Met dank aan Christian Kellermann)
- verwijderd 'kip-setup' stomp programma
- fix naar `CSC 'om de juiste bibliotheek te gebruiken bij het vaststellen van dynamische belasting paden (Met dank aan Derrell Piper)
- verwijderd html documentatie uit de distributie (de wiki handleiding zal nu worden geïnstalleerd)
- vaste bug in `wederuitvoer 'die syntax veroorzaakt niet correct te worden geherexporteerd
- vorige opdrachten naar een toplevel variabele die worden gescheiden door neveneffect vrije expressies worden verwijderd
- vaste ramen versie van `find-files '(met dank aan Jim Ursetto)
- documentatie voor uitbreidingen niet automatisch wordt geïnstalleerd door 'kip-install' meer
- veranderd binaire versie van "4" tot "5", omdat de nieuwe runtime bibliotheken zijn niet binair compatibel met eerdere versies; Dit betekent dat alle eieren moeten worden geïnstalleerd en de bestaande programma's worden gecompileerd!
- toegevoegd unboxing pass compiler, wat resulteert in een gedeeltelijk dramatische prestatieverbeteringen voor onveilige floating-point-intensieve code; unboxing is ingeschakeld op de optimalisatie niveaus 4 en 5
- verwijderd rest-argument-vector optimalisatie met inlining strijdig zouden kunnen zijn (met dank aan Sven Hartrumpf)
- omgedoopt `-pointer offset 'naar` pointer +' en 'deprecated-pointer offset'
- toplevel opdrachten die geen andere bijwerkingen kunnen worden geëlimineerd als kan worden aangetoond dat de waarde niet wordt gebruikt (de compiler zal een waarschuwing in dit geval genereren)
- verwijderd deprecated `-quiet 'optie' kip 'programma
- verwijderd deprecated 'run-time-macro's verklaring'
- verwijderd deprecated 'v2' en `V3 'opties in het programma` CSC
- verwijderd deprecated 'lijst-van-functie (het is uitsluitend verkrijgbaar als' lijst-van? 'nu)
- verwijderd deprecated `stat -... 'functies in POSIX library-eenheid
- verwijderd deprecated 'voor-elk-line' en `voor-elk-argv-line 'procedures utils bibliotheek eenheid
- toegevoegd `fpinteger? ' en `fpabs '
- deprecated `definiëren-gecompileerde-syntax '
- Nieuwe floating-point primitieven `fpsin ',` fpcos', `fptan ',` fpasin', `fpacos ',` fpatan', `fpatan2 ',` fpexp', `fplog ',` fpexpt' en `toegevoegd fpsqrt '
- zware sanering van drijvende wiskundige functies die veel betere prestaties geeft, in het bijzonder voor de code gecompileerd in onveilige modus
- roepen `doen gelden 'met een enkel argument geeft de geteste uitdrukking op mislukking
- diverse bugfixes en opruimen
Wat is nieuw in versie 4.2.0:
- kip-installeren is aangepast aan de bibliotheek afhankelijkheden in topologische te sorteren, en om alternatieve servers proberen als een ei-server antwoordt met een fout.
- De uitvoerbare stack in assembly code modules is standaard uitgeschakeld.
- Veel bugs zijn opgelost in de MinGW bouwen.
- Een aantal nieuwe opties zijn toegevoegd aan de compiler en tolk.
Wat is nieuw in versie 3.4.0:
- De compiler ondersteunt nu selectieve procedure profilering.
- All-file gerelateerde procedures zijn verplaatst naar nieuwe eenheid bestanden.
- Er zijn tal van oplossingen voor de Cygwin en MinGW geweest bouwt.
- PCRE gebundeld met kip is bijgewerkt.
Reacties niet gevonden