Chicken ist eine freie und Open-Source-Compiler-Anwendung für die Programmiersprache Scheme. Es ist mit der Linux / UNIX-Betriebssystem kompatibel.
Huhn produziert effiziente und portable C, und es unterstützt viele der aktuellen Schema Sprachstandard (siehe Liste unten).
Es bietet out-of-the-box-Unterstützung für SRFI 0 (cond-Ausbau), SRFI 1 (Bibliothek), SRFI 2 (und-lassen *), SRFI 4 (Homogeneous Zahlenvektor-Datentypen), SRFI 6 (Basic-Zeichenfolge-Ports ), SRFI 8 (Empfang), SRFI 9 (Satzarten), SRFI 10 (#, äußere Form), SRFI 13 (String-Bibliothek), SRFI 14 (Zeichensatz-Bibliothek), SRFI 16 (Fall-Lambda), SRFI 17 ( Generalized Satz!), SRFI 18 (Multithreading-Unterstützung), SRFI 23 (Fehler), SRFI 25 (mehrdimensionales Array Primitiven), SRFI 26 (Schnitt, niedlich), SRFI 28 (Format), SRFI 30 (Kommentare blockieren), SRFI 37 ( Programmargument-Prozessor), SRFI 38 (Externe Darstellung für Daten mit gemeinsamen Struktur), SRFI 39 (Parameter), SRFI 40 (Stream-Bibliothek), SRFI 42 (Eager Comprehensions), SRFI 43 (Vector Bibliothek) und SRFI 55 (erfordern-Erweiterung ).
Was ist neu in dieser Pressemitteilung:
- Diese Version enthält einige wichtige Sicherheits- und Crash-Fixes, nach einem letzten Bug-Jagd spree von unseren Kern Hacker.
Was ist neu in Version 4.8.0.5:
- Diese Version enthält einige wichtige Sicherheits- und Crash-Fixes, nach einem letzten Bug-Jagd spree von unseren Kern Hacker.
Was ist neu in Version 4.8.0.3:
- Diese Version behebt einen Fehler in erster Linie unter Linux und Solaris, die hohe CPU-Auslastung verursacht, beim Warten auf Kind-Prozess-I / O.
Was ist neu in Version 4.8.0.2:
- Interpreter:
- Fix Regression, d für die Verfahren, die in einem sprintf Fehler geführt hat.
- Compiler:
- Fix Umschreiben der Zeilenumbrüche (~~) in printf.
- Laufzeit:
- Lassen Sie & gt; 4GB Haufen auf 64-Bit-Systemen (# 974).
- Hinzugefügt fehlende Bibliothek (-lrt) auf Solaris für nanosleep Gespräche (# 970).
- Build-System:
- Verwenden Sie Test -f statt Test -e in identify.sh um Solaris zu besänftigen.
Was ist neu in Version 4.8.0.1:
- Sicherheitsupdates:
- Verwenden POSIX poll () auf Systemen, bei denen zur Verfügung. Dies vermeidet einen Design-Fehler in select (); es unterstützt nicht mehr als FD_SETSIZE Deskriptoren.
- Core-Bibliotheken:
- Feste EINTR Umgang in Prozess-Wartezeit und beim Lesen von Datei-Ports.
- Bugfix für irregex (# 686). Hinweis:. Obwohl irregex.scm sagt jetzt Version 0.9.2, ist die Version 0.8.3 tatsächlich plus ein paar zurückportierte Patches
- Das Problem, in "Make-Pfadname", die einen absoluten Pfad zurückgegeben, wenn bei einer relativen ohne Verzeichnis Argument.
- Auf 64-Bit-Systeme das Merkmal Kennung "64-Bit" registriert ist.
- Compiler:
- Diverse Bugs in der Art Datenbank.
- Bugfixes und Verbesserungen in der scrutinizer.
- In der Flussanalyse Pass-Typ-Matching von Kombinationen von "Liste" / "list-of" Typen gemacht worden zuverlässiger.
- Syntax Expander:
- Makro umbenannt definiert im Körper beginnen (innen Module) sichtbar späteren Formen. (# 944).
- Runtime-System:
- Feste falschen Code in der Fremd Argument Konvertierung für "unsigned-Integer64" (# 955).
- Core-Werkzeuge:
- Die Laufzeit-Linker Pfad für kompilierten ausführbaren Dateien nicht korrekt auf FreeBSD-Systemen festgelegt.
- Fix-Installation-Erweiterung Bruch, wenn die zweite arg enthält Paare (SRC DST).
- Build-System:
- Prevent Wiederaufbau der buildversion.scm auf jedem zu machen (1) unter Windows.
Was ist neu in der Version 4.8.0:
- Schnittstellen und Funktoren haben zu dem Modul System hinzugefügt.
- Der Typ-System wurde erweitert.
- Eine große Anzahl von Bugfixes und allgemeine Aufräumarbeiten haben in den Compiler, Laufzeitsystem, Kernbibliotheken, und Syntax Expander getan.
Was ist neu in der Version 4.6.0:
- Einige Compiler-Optimierungen wurden deutlich verbessert.
- Mehrere integrierte Verfahren und das Zuteilungsverfahren für Listen, Vektoren und Strukturen generieren schnelleren Code.
- Units SrfI-4 und SrfI-18 wurden stark aufgeräumt und optimiert.
- Mehrere Fehler in der Thread-Scheduler behoben.
- chicken-Installation wurde erweitert, und seine Unterstützung grenz Compilation wurde deutlich aufgewertet.
- Die Build-System unterstützt jetzt mehr Plattformen und Compiler.
- Die verschiedenen Infrastruktur-Skripte wurden überarbeitet, um die Struktur der neuen Website-Infrastruktur anzupassen.
Was ist neu in der Version 4.4.0:
- Das System kann nun mit LLVM-gcc und / oder "Klang" (die LLVM-C-Compiler, der keinen Gebrauch der GNU C-Frontend) errichtet werden
- Neue Option `-trunk 'zu` Huhn-Installation ", die Kräfte, Bau und Installation der Entwicklungsversion von Erweiterungen in Verbindung mit` -t local'
- Neue Option `-Bereitstellung 'zu` Huhn-Installation ", die Erweiterung für den Einsatz in" Einsatz "Anwendungen (siehe unten) errichtet
- hinzugefügt Option `-Bereitstellung 'zu` csc ", der Compiler-Treiber. Mit dieser Option `csc 'kann vollständig in sich geschlossene Anwendungspakete und doppelklicken anklickbare Macintosh GUI-Anwendungen zu bauen; finden Sie in der "Bereitstellung" Handbuch Kapitel für weitere Informationen
- das Verzeichnis, in dem -prefix 'Option `Huhn-install'` ergangen ist, kann nun ein relativer Pfadname sein.
- entfernt GUI-spezifischen Laufzeitbibliothek (`libchicken-gui") von Windows aus zu bauen
- GUI- und Nicht-GUI-Anwendungen verwenden jetzt die gleiche Laufzeitbibliothek
- Sonderformen der ausländischen Funktionsschnittstelle haben, mit einer internen Form und Syntax ersetzt, um das Umbenennen und Shadowing dieser Formen erlauben
- die neue 'Option im `csc" `-private-Repository kompiliert ausführbaren Dateien mit der Endung-Repository-Pfad zu dem Verzeichnis, aus dem das Programm gestartet wurde eingestellt
- `csc ': veraltete die` -W' und `-Windows 'Optionen hinzugefügt` -gui "als plattformunabhängige Ersatz
- `require-Erweiterung '/` Verwendung "akzeptiert jetzt import-Spezifikationen
- benutzerdefinierte Erweiterungs-Planer und `Set-Extension-specifier! ' entfernt worden sind
- 'Löschen-Datei [*]', 'Umbenennen-Datei', `zu erstellen-Verzeichnis ',` file-copy', `file-move ',` zu löschen Verzeichnis' und `Wechsel-Verzeichnis 'ihr Argument zurück / Zieldateinamen bei Erfolg
- fügte die fehlenden Verfahren `Zustand-variable-name 'an die SrfI-18 Bibliothekseinheit (Dank an Joerg Wittenberger)
- die `glob? ' Funktion aus dem `regex 'Einheit ist veraltet
- hinzugefügt, das Verfahren `Scan-input-Linien", um das `utils 'Bibliothekseinheit
- hat neue Laufzeit-Option `-: g", die ermöglicht GC Debugging-Ausgabe
- Rückgewinnung von nicht verwendeten Symbole "Symbol-gc" -Modus (`-: w ') jetzt Symbole erfolgt nur mit einem leeren Grundstück-Liste
- auf Windows Laden von Code mit [nicht] GUI-Laufzeitbibliotheken fehl und erzeugen eine Fehlermeldung, wenn der Lade ausführbare Datei mit einem anderen Laufzeitsystem verbunden zusammengestellt
- unter Windows, GUI-Bibliotheken wurden nicht korrekt von `csc" verbunden
- Einheit POSIX: hinzugefügt Setter für `file-Modifikationszeit"
- das Banner zeigt den branch des Build, es sei denn, es ist "Master"
- die "Option` Huhn-install '`-no-Installation wird ignoriert, wenn Aufbau / Installation von Abhängigkeiten
- `Huhn-uninstall 'nimmt eine glob statt einen regulären Ausdruck als Argument
- die Umbenennung und vergleichen Funktionen für Low-Level-Makrodefinitionen nehmen jetzt beliebige s-Ausdrücke und benennt / vergleicht sie rekursiv
- `Zahlen & gt; string 'Griffe negative Zahlen mit Basen verschieden von 10 richtig (Dank an Peter Danenberg)
- entfernt veraltet `Setup-install-Flagge 'und` Setup-verbose-Flag' aus dem `Setup-API 'Modul
- Neue Option `-repository 'zu` Huhn-install' (Danke an Christian Kellermann)
- entfernt `Huhn-setup 'Stub-Programm
- fix auf `csc", um die richtige Bibliothek bei der Festsetzung dynamischen Lastpfade verwenden (Danke an Derrell Piper)
- entfernt HTML-Dokumentation aus dem Vertrieb (das Wiki Handbuch wird nun installiert)
- Bug in `reexport", die Syntax verursacht nicht korrekt reexportiert werden
- bisherigen Aufgaben zu einem Toplevel-Variable, die durch nebenwirkungsfreie Ausdrücke getrennt entfernt werden
- Fest Windows-Version von `find-Dateien" (Dank an Jim Ursetto)
- Dokumentation für Erweiterungen nicht automatisch durch `Huhn-install 'mehr installiert
- verändert binäre Version von "4" bis "5", weil die neuen Laufzeitbibliotheken sind nicht binärkompatibel mit früheren Versionen; Dies bedeutet, dass alle Eier neu installiert werden, und die bestehenden Programme neu übersetzt werden!
- hinzugefügt Unboxing Pass zu Compiler, der in teilweise dramatische Leistungsverbesserungen für unsichere Gleitkommazahlen intensiven Code führt; Unboxing auf Optimierungsstufen 4 und 5 aktiviert
- entfernt rest-Argument-Vektor-Optimierung, wie es hätte mit Inlining (Dank an Sven Hartrumpf) in Konflikt
- umbenannt `Zeiger-Offset 'zu` Zeiger +' und veraltete `Zeiger-Offset '
- Toplevel Zuweisungen, die keine anderen Nebenwirkungen beseitigt werden, wenn gezeigt werden kann, dass der Wert nicht verwendet wird (der Compiler eine Warnung in diesem Fall zu generieren)
- entfernt veraltet -quiet 'Option im `Huhn'` Programm
- entfernt veraltet `run-time-Makros Erklärung"
- entfernt veraltet `-v2 'und` -v3' Optionen 'CSC-Programm
- entfernt veraltet `list-of-Funktion (es ist ausschließlich als` list-of verfügbar? 'now)
- entfernt veraltet `stat -... 'Funktionen in POSIX-Bibliothekseinheit
- entfernt veraltet `for-each-line 'und` for-each-argv-line "Verfahren in utils Bibliothek Einheit
- hinzugefügt `fpinteger? ' und `fpabs '
- veraltet `definieren kompilierte-Syntax"
- hat neue Floating-Point-Primitiven `fpsin ',` fpcos', `fptan ',` fpasin', `fpacos ',` fpatan', `fpatan2 ',` fpexp', `fplog ',` fpexpt' und ` fpsqrt '
- Schwer Bereinigung von schwimmenden mathematischen Funktionen, die viel bessere Leistung bietet, insbesondere für Code im unsicheren Modus kompiliert
- Aufruf `assert 'mit einem einzigen Argument zeigt die getesteten Ausdruck auf Ausfall
- diverse Bugfixes und Reinigung
Was ist neu in der Version 4.2.0:
- chicken-Installation wurde geändert, um Bibliotheksabhängigkeiten in topologischer Reihenfolge zu sortieren und zu alternativen Servern versuchen, wenn ein Ei-Server antwortet mit einem Fehler.
- Die ausführbare Stack in Assembler-Code-Module ist standardmäßig deaktiviert.
- Viele Fehler wurden in der MinGW Build behoben.
- Einige neue Optionen wurden an den Compiler und Interpreter aufgenommen.
Was ist neu in der Version 3.4.0:
- Der Compiler unterstützt nun selektive Prozedurprofilerstellung.
- Alle dateibezogenen Verfahren haben zu neuen Unit-Dateien verschoben.
- Es wurden zahlreiche Fixes für die Cygwin und MinGW baut.
- PCRE mit Huhn gebündelt wurde aktualisiert.
Kommentare nicht gefunden