Hoender is 'n vrye en open source samesteller aansoek om die Skema programmeertaal. Dit is verenigbaar met die Linux / UNIX bedryfstelsel.
Hoender produseer doeltreffende en draagbare C, en dit word ondersteun baie van die huidige skema taal standaard (sien die lys hieronder vir besonderhede).
Dit bied out-of-the-box ondersteuning vir SRFI 0 (cond-brei), SRFI 1 (Lys biblioteek), SRFI 2 (en laat *), SRFI 4 (Homogene numeriese vektor gegee tik), SRFI 6 (Basiese string hawens ), SRFI 8 (ontvang), SRFI 9 (tipes Rekord), SRFI 10 (#, eksterne vorm), SRFI 13 (String biblioteek), SRFI 14 (karakter stel biblioteek), SRFI 16 (geval-lambda), SRFI 17 ( algemene stel!), SRFI 18 (multi-threading ondersteuning), SRFI 23 (fout), SRFI 25 (Multidimensionele verskeidenheid primitiewes), SRFI 26 (sny, oulik), SRFI 28 (formaat), SRFI 30 (Blok kommentaar), SRFI 37 ( Program argument verwerker), SRFI 38 (Eksterne verteenwoordiging vir data met gedeelde struktuur), SRFI 39 (Parameters), SRFI 40 (Stroom biblioteek), SRFI 42 (Eager begripstoetse), SRFI 43 (Vector biblioteek) en SRFI 55 (vereis-uitbreiding ).
Wat is nuut in hierdie release:
- Hierdie release sluit verskeie belangrike sekuriteit en crash fixes, ná 'n onlangse fout jag boemel deur ons kern hackers.
Wat is nuut in die weergawe 4.8.0.5:
- Hierdie release sluit verskeie belangrike sekuriteit en crash fixes, ná 'n onlangse fout jag boemel deur ons kern hackers.
Wat is nuut in die weergawe 4.8.0.3:
- Hierdie vrystelling hoofsaaklik vasgestel 'n fout op Linux en Solaris wat hoë CPU gebruik veroorsaak wanneer wag vir die kind proses I / O.
Wat is nuut in die weergawe 4.8.0.2:
- Interpreter:
- Fix regressie in, d vir prosedures, wat gelei het tot 'n sprintf fout.
- Compiler:
- Fix herskryf van newlines (~~) in printf.
- Runtime:
- Laat & gt; 4GB hopie op 64-bit stelsels (# 974).
- Bygevoeg ontbrekende biblioteek (-lrt) op Solaris vir nanosleep oproepe (# 970).
- Bou stelsel:
- Gebruik toets f in plaas van toets-e in identify.sh paai Solaris.
Wat is nuut in die weergawe 4.8.0.1:
- Security fixes:
- Gebruik POSIX poll () op stelsels waar beskikbaar. Dit vermy 'n ontwerp fout in die kies (); dit word ondersteun deur nie meer as FD_SETSIZE beskrywers.
- Core biblioteke:
- Vaste EINTR hantering in die proses-wag en lees van lêer hawens.
- Bugfix vir irregex (# 686). Let wel:. Hoewel irregex.scm sê nou weergawe 0.9.2, die weergawe is eintlik 0.8.3 plus 'n paar backported kolle
- Vaste probleem in "make-padnaam" wat 'n absolute pad teruggekeer as ʼn relatiewe een sonder 'n gids argument.
- Op 64-bit stelsels die funksie identifiseerder "64bit" geregistreer is.
- Compiler:
- Vaste verskeie foute in die tipe databasis.
- bugfixes en verbeteringe in die scrutinizer.
- In die vloei-analise slaag, tipe-passing van kombinasies van "lys" / "lys-van die" tipes is meer betroubaar gemaak.
- Syntax expander:
- Maak makro-herdoop definieer in begin liggame (binne modules) sigbaar te later vorms. (# 944).
- Runtime stelsel:
- Vaste verkeerde kode in die buitelandse argument sukses vir "unsigned-integer64" (# 955).
- Core gereedskap:
- Die runtime linker pad vir saamgestel executables is nie korrek ingestel op FreeBSD stelsels.
- Fix installeer-uitbreiding breek wanneer die tweede arg bevat pare (SRC DST).
- Bou stelsel:
- Voorkom herbou van buildversion.scm elke maak (1) op Windows.
Wat is nuut in die weergawe 4.8.0:
- Interfaces en functors is bygevoeg om die module-stelsel.
- Die tipe stelsel is verleng.
- 'n groot aantal van die bugfixes en algemene opruim gedoen in die samesteller, runtime stelsel, kern biblioteke, en sintaksis expander.
Wat is nuut in die weergawe 4.6.0:
- Sommige samesteller optimalisaties is aansienlik verbeter.
- Verskeie ingeboude prosedures en die toekenning prosedures vir lyste, vektore, en strukture te genereer vinniger kode.
- Eenhede srfi-4 en srfi-18 is swaar skoongemaak en optimale.
- Verskeie foute is vasgestel in die draad skeduleerder.
- hoender installeer is uitgebrei, en sy kruis samestelling ondersteuning is aansienlik opgegradeer.
- Die bou stelsel ondersteun nou meer platforms en opstellers.
- Die verskillende infrastruktuur skrifte oorgedoen om die struktuur van die nuwe webwerf infrastruktuur te weerspieël.
Wat is nuut in die weergawe 4.4.0:
- die stelsel kan nou gebou met llvm-gcc en / of "klang" (die LLVM C samesteller wat die GNU C frontend gebruik nie)
- nuwe opsie `-trunk bygevoeg 'om` n hoender-installeer, wat kragte gebou en die installering van die ontwikkeling weergawe van uitbreidings in kombinasie met `t plaaslike'
- bygevoeg nuwe opsie `-deploy 'om` n hoender-installeer, wat uitbreiding bou vir gebruik in "ontplooi" Aansoeke (sien onder)
- opsie `-deploy bygevoeg 'om` CSC, die samesteller bestuurder. Met hierdie opsie `CSC 'kan ten volle self-vervat aansoek bundels en dubbel-klikbare Macintosh GUI apps te bou; sien die "ontplooiing" handleiding hoofstuk vir meer inligting
- die gids gegee word aan die `-prefix 'opsie` hoender installeer' kan nou 'n relatiewe padnaam wees.
- verwyder GUI-spesifieke runtime biblioteek (`libchicken-gui") van Windows bou
- GUI- en nie-GUI aansoeke nou gebruik dieselfde runtime biblioteek
- spesiale vorme van die buitelandse-funksie koppelvlak is vervang met 'n interne vorm en sintaksis te herbenaming en shadowing van hierdie vorms toelaat
- die nuwe `-private-repository 'opsie in` CSC' stel executables met die verlenging-opslagpad stel om die gids waaruit die program begin is
- `CSC ': afgekeur die` -W' en `-vensters 'opsies, bygevoeg` -gui' as 'n platform-onafhanklike vervanging
- `benodig-uitbreiding '/` gebruik' aanvaar nou die invoer-spesifikasies
- gebruiker-gedefinieerde uitbreiding-spesifiseerders en `set-uitbreiding-specific!" verwyder
- `verwyder-lêer [*] ',` hernoem-lêer', `skep-gids,` lêer-kopie, `lêer-move ',` verwyder-gids' en `verandering-gids 'terugkeer hul argument / bestemming lêernaam op sukses
- die vermiste prosedure `n toestand-veranderlike-naam 'bygevoeg word om die srfi-18 biblioteek eenheid (Danksy Joerg Wittenberger)
- die `glob?" funksie van die `regex 'n eenheid is afgekeur
- die prosedure bygevoeg `scan-insette-lyne 'om die` utils' biblioteek eenheid
- bygevoeg nuwe runtime opsie `-: g 'wat in staat stel GC debugging uitset
- herwinning van ongebruikte simbole in "simbool-gc" af (`-: w ') nou neem slegs plek vir simbole met 'n leë eiendom lys
- Windows laai van die kode saamgestel [nie-] GUI runtime biblioteke sal misluk en produseer 'n fout boodskap wanneer die laai uitvoerbare is in verband met 'n ander runtime stelsel
- op Windows, GUI biblioteke is nie korrek verbind deur `CSC '
- eenheid POSIX: bygevoeg setter vir `lêer-verandering-time '
- die vaandel toon die branchname van die bou, tensy dit is "meester"
- die `-Geen installeer 'n opsie om` n hoender-installeer 'geïgnoreer wanneer die bou / installering afhanklikhede
- `n hoender-uninstall 'neem 'n glob plaas van 'n gewone uitdrukking as argument
- die hernoem en vergelyk funksies vir lae-vlak makro-definisies aanvaar nou arbitrêre s-uitdrukkings en herbenoem / vergelyk rekursief
- `nommer-& gt; string 'hanteer negatiewe getalle met basisse verskil van 10 korrek (met dank aan Peter Dane Berg)
- verwyder afgekeur `setup installeer vlag 'en` setup-verbose-vlag van die `setup-api' module
- nuwe opsie `-repository bygevoeg 'om` n hoender-installeer' (Dankie aan Christelike Kellermann)
- verwyder `hoender-setup 'stomp program
- fix om `CSC 'om die korrekte biblioteek gebruik wanneer vaststelling dinamiese belasting paaie (Danksy Derrell Piper)
- verwyder html dokumentasie van verspreiding (die wiki handleiding sal nou geïnstalleer)
- Vaste fout in `reexport 'wat sintaksis veroorsaak nie korrek te wees reexported
- vorige opdragte om 'n bovlak veranderlike wat geskei word deur newe-effek gratis uitdrukkings verwyder
- vaste vensters weergawe van `vind-lêers (danksy Jim Ursetto)
- dokumentasie vir uitbreidings word nie outomaties geïnstalleer word deur `n hoender-installeer 'meer
- verander binêre weergawe van "4" na "5", want die nuwe runtime biblioteke is nie binêre-versoenbaar is met vorige weergawes; Dit beteken dat alle eiers te word geïnstalleer en bestaande programme word gehercompileerd!
- bygevoeg unboxing slaag om samesteller wat lei tot gedeeltelik dramatiese verbeterings vir onveilige swaai-punt-intensiewe-kode; unboxing aangeskakel op die optimalisering vlakke 4 en 5
- verwyder die res-argument vektor optimization soos dit met inlining kan konflik (te danke aan Sven Hartrumpf)
- herdoop `-wyser verreken 'om` wyser + en afgekeur `-wyser verreken'
- toplevel opdragte wat geen ander newe-effekte kan uitgeskakel word as dit bewys kan word dat die waarde nie gebruik word nie (die samesteller sal 'n waarskuwing in hierdie geval genereer)
- verwyder afgekeur `-quiet 'opsie in` n hoender 'n program
- verwyder afgekeur `hardloop-time-makros verklaring"
- verwyder afgekeur `-v2 'en` -v3' opsies in 'n program `CSC
- verwyder afgekeur `n lys van--funksie (dit is uitsluitlik beskikbaar as` n lys van-? "modes)
- verwyder afgekeur `stat -... 'funksies in POSIX biblioteek eenheid
- verwyder afgekeur `vir elke-line 'en` vir elke-argv-line' prosedures in utils biblioteek eenheid
- `bygevoeg fpinteger?" en `fpabs '
- afgekeur `definieer-saamgestel-sintaksis '
- nuwe swaai-punt primitiewes `fpsin,` fpcos, `fptan,` fpasin, `fpacos,` fpatan, `fpatan2,` fpexp, `fplog,` fpexpt 'en `bygevoeg fpsqrt '
- swaar opruim van drywende wiskunde funksies wat baie beter prestasie gee, veral vir die kode opgestel in onveilige modus
- 'n beroep `Assert 'met 'n enkele argument toon die getoets uitdrukking op mislukking
- verskeie bugfixes en skoonmaak
Wat is nuut in die weergawe 4.2.0:
- hoender-installeer is aangepas om die biblioteek afhanklikhede in topologiese orde te sorteer, en om alternatiewe bedieners probeer as 'n eier bediener reageer met 'n fout.
- Die uitvoerbare stapel in die gemeente-kode modules is afgeskakel by verstek.
- Baie foute is vasgestel in die MinGW bou.
- Verskeie nuwe opsies is bygevoeg na die samesteller en tolk.
Wat is nuut in die weergawe 3.4.0:
- Die samesteller ondersteun nou selektiewe proses profilering.
- All-lêer verwante prosedures is verskuif na nuwe eenheid lêers.
- Daar is talle fixes die Cygwin en MinGW gewees bou.
- PCRE saam met hoender is opgedateer.
Kommentaar nie gevind