Το κοτόπουλο είναι μια ελεύθερη και ανοικτή εφαρμογή πηγής μεταγλωττιστή για την γλώσσα προγραμματισμού Scheme. Είναι συμβατό με το λειτουργικό σύστημα Linux / UNIX.
Κοτόπουλο παράγει αποτελεσματικό και φορητών C, και υποστηρίζει πολλά από τα πάγια τρέχουσα γλώσσα Scheme (δείτε την παρακάτω λίστα για λεπτομέρειες).
Παρέχει out-of-the-box υποστήριξη για SRFI 0 (διευθ-επέκταση), SRFI 1 (βιβλιοθήκη λίστας), SRFI 2 (και-ας *), SRFI 4 (Ομογενείς αριθμητικό τύπους δεδομένων φορέα), SRFI 6 (λιμάνια Βασικές εγχόρδων ), SRFI 8 (λήψη), SRFI 9 (τύποι Record), SRFI 10 (#, εξωτερική μορφή), SRFI 13 (βιβλιοθήκη String), SRFI 14 (Σύνολο χαρακτήρων της βιβλιοθήκης), SRFI 16 (υπόθεση-λ), SRFI 17 ( Γενικευμένη σύνολο!), SRFI 18 (multithreading υποστήριξη), SRFI 23 (σφάλμα), SRFI 25 (πρωτόγονων πολυδιάστατη array), SRFI 26 (κομμένα, χαριτωμένο), SRFI 28 (format), SRFI 30 (σχόλια Block), SRFI 37 ( επιχείρημα Πρόγραμμα επεξεργαστή), SRFI 38 (εξωτερική εκπροσώπηση δεδομένων με κοινή δομή), SRFI 39 (Παράμετροι), SRFI 40 (βιβλιοθήκη ρεύμα), SRFI 42 (Πρόθυμος Η κατανόηση), SRFI 43 (βιβλιοθήκη Vector) και SRFI 55 (απαιτεί επέκτασης ).
Τι είναι καινούργιο σε αυτή την έκδοση:
- Αυτή η έκδοση περιλαμβάνει πολλά σημαντικά την ασφάλεια και την συντριβή διορθώσεις, μετά από πρόσφατο ξεφάντωμα-bug κυνήγι με πυρήνα χάκερ μας.
Τι είναι καινούργιο στην έκδοση 4.8.0.5:
- Αυτή η έκδοση περιλαμβάνει πολλά σημαντικά την ασφάλεια και την συντριβή διορθώσεις, μετά από πρόσφατο ξεφάντωμα-bug κυνήγι με πυρήνα χάκερ μας.
Τι είναι καινούργιο στην έκδοση 4.8.0.3:
- Αυτή η έκδοση διορθώνει ένα σφάλμα κατά κύριο λόγο σε Linux και Solaris που προκαλεί μεγάλη χρήση της CPU κατά την αναμονή για τη διαδικασία παιδί I / O.
Τι είναι καινούργιο στην έκδοση 4.8.0.2:
- Διερμηνέας:
- Fix οπισθοδρόμηση σε, d για τις διαδικασίες, οι οποίες κατέληξαν σε λάθος sprintf.
- Compiler:
- Fix ξαναγράψιμο για χαρακτήρες νέας γραμμής (~~) στην printf.
- Διάρκεια:
- Να επιτρέπεται & gt? 4GB σωρό για συστήματα 64-bit (# 974).
- Προστέθηκε λείπει η βιβλιοθήκη (-lrt) στο Solaris για κλήσεις nanosleep (# 970).
- σύστημα Σώμα:
- Δοκιμή χρήσης -f αντί -e δοκιμής identify.sh να εξευμενίσει Solaris.
Τι είναι καινούργιο στην έκδοση 4.8.0.1:
- διορθώσεις ασφαλείας:
- Χρησιμοποιήστε POSIX δημοσκόπηση () σε συστήματα όπου αυτά είναι διαθέσιμα. Αυτό αποφεύγει ένα ελάττωμα σχεδιασμού σε επιλεγμένα ()? υποστηρίζει περισσότερο από FD_SETSIZE περιγραφείς.
- βιβλιοθήκες πυρήνα:
- Σταθερή EINTR χειρισμό σε διαδικασία αναμονής, και κατά την ανάγνωση από λιμένες αρχείο.
- Διόρθωση bug για irregex (# 686). Σημείωση:. Αν irregex.scm λέει τώρα την έκδοση 0.9.2, η έκδοση 0.8.3 είναι στην πραγματικότητα συν μερικές backported μπαλώματα
- Διορθώθηκε το πρόβλημα στην «make-διαδρομή» που επέστρεψε μια απόλυτη διαδρομή, αν δοθεί μια σχετική ένα χωρίς ένα επιχείρημα κατάλογο.
- Σε συστήματα 64-bit το χαρακτηριστικό αναγνωριστικό "64bit" είναι καταχωρημένο.
- Compiler:
- Σταθερή διάφορα σφάλματα στη βάση δεδομένων τύπου.
- Bugfixes και βελτιώσεις στο εξονυχιστής.
- Στην προσαγωγή-ανάλυση πάσα τύπο αντιστοίχισης των συνδυασμών της "λίστας" / "λίστας των" τύπων έχει γίνει πιο αξιόπιστο.
- Σύνταξη επέκτασης:
- Κάντε μακρο-μετονομάστηκε ορίζει στο αρχίζουν φορείς (στο εσωτερικό modules) ορατή σε μορφές αργότερα. (# 944).
- Διάρκεια:
- Διορθώθηκε το λάθος κωδικό κατά τη μετατροπή ξένο επιχείρημα για "ανυπόγραφο-integer64" (# 955).
- εργαλεία Πυρήνας:
- Το μονοπάτι συνδετήρα εκτέλεσης για μεταγλωττισμένα εκτελέσιμα δεν έχουν ρυθμιστεί σωστά στο FreeBSD συστήματα.
- Διορθώστε την εγκατάσταση-επέκταση θραύση όταν η δεύτερη arg περιέχει ζεύγη (SRC DST).
- σύστημα Σώμα:
- Αποτρέψτε την ανοικοδόμηση της buildversion.scm σε κάθε make (1) σχετικά με τα Windows.
σύστημα
Τι είναι καινούργιο στην έκδοση 4.8.0:
- Interfaces και συναρτητές έχουν προστεθεί στο σύστημα της μονάδας.
- Το σύστημα τύπος έχει επεκταθεί.
- Ένας μεγάλος αριθμός από διορθώσεις σφαλμάτων και γενικές καθαρισμού έχουν γίνει στο compiler, σύστημα εκτέλεσης, βιβλιοθηκών πυρήνα, και η σύνταξη επέκτασης.
Οι
Τι είναι καινούργιο στην έκδοση 4.6.0:
- Μερικοί μεταγλωττιστές έχουν βελτιωθεί σημαντικά.
- Αρκετές ενσωματωμένες διαδικασίες και η κατανομή των διαδικασιών για τις λίστες, οι φορείς και οι δομές δημιουργούν γρηγορότερα κώδικα.
- Μονάδες srfi-4 και srfi-18 έχουν καθαριστεί σε μεγάλο βαθμό και να βελτιστοποιηθεί.
- Πολλά σφάλματα που έχουν διορθωθεί στο χρονοπρογραμματιστή νήμα.
- κοτόπουλο εγκατάσταση έχει επεκταθεί, και υποστήριξη για cross compilers της έχει αναβαθμιστεί σημαντικά.
- Το σύστημα κατασκευής υποστηρίζει τώρα περισσότερες πλατφόρμες και μεταγλωττιστές.
- Τα διάφορα σενάρια υποδομής έχουν αναθεωρήθηκαν για να αντανακλούν τη δομή της νέας υποδομής ιστοσελίδα.
Τι είναι καινούργιο στην έκδοση 4.4.0:
- το σύστημα μπορεί τώρα να κατασκευαστεί με LLVM-gcc ή / και "κλαγγή" (ο compiler LLVM C, η οποία δεν χρησιμοποιεί το frontend GNU C)
- προστεθούν νέα επιλογή `-trunk να` κοτόπουλο-install ', το οποίο εξαναγκάζει την κατασκευή και την εγκατάσταση της έκδοσης ανάπτυξης των επεκτάσεων σε συνδυασμό με `-t τοπικό»
- προστεθούν νέα επιλογή `-deploy να` κοτόπουλο-εγκατάσταση », το οποίο βασίζεται παράταση για χρήση σε« διατίθενται »εφαρμογές (βλέπε παρακάτω)
- προστεθούν επιλογή `-deploy να` CSC », ο οδηγός compiler. Με αυτή την επιλογή `CSC« μπορεί να αναπτύξει πλήρως αυτόνομα δέσμες εφαρμογής και κάντε διπλό κλικ εφαρμογές Macintosh GUI? ανατρέξτε στην ενότητα "Ανάπτυξη" εγχειρίδιο κεφάλαιο για περισσότερες πληροφορίες
- Ο κατάλογος δόθηκε στο `-prefix 'επιλογή του` κοτόπουλο-install' μπορεί τώρα να είναι μια σχετική διαδρομή.
- απομακρύνεται GUI ειδική βιβλιοθήκη χρόνου εκτέλεσης (`libchicken-gui») από τα Windows χτίσει
- GUI- και μη-GUI εφαρμογές χρησιμοποιούν πλέον την ίδια βιβλιοθήκη χρόνου εκτέλεσης
- Οι ειδικές μορφές της διεπαφής ξένων λειτουργίας έχουν αντικατασταθεί με μια εσωτερική μορφή και σύνταξη για να καταστεί δυνατή η μετονομασία και παρακολούθηση αυτών των μορφών
- το νέο `-ιδιωτικό-αποθετήριο» επιλογή `CSC» συγκεντρώνει εκτελέσιμα με την επέκταση-μονοπάτι για τον χώρο που στον κατάλογο από τον οποίο ξεκίνησε το πρόγραμμα
- `CSC»: καταργηθεί η `-W 'και` -Windows »επιλογές, πρόσθεσε` -gui »ως πλατφόρμα-ανεξάρτητη αντικατάσταση
- `απαιτούν επέκτασης '/` χρήση »δέχεται πλέον εισαγωγές-προδιαγραφές
- οριζόμενη από το χρήστη-επέκταση τεχνικών προδιαγραφών και `set-επέκταση-προσδιοριστή!» έχουν αφαιρεθεί
- `διαγράψετε-αρχείο [*]», `μετονομασία του αρχείου ',' create-καταλόγου», `αντιγραφής αρχείων ',` file-κίνηση »,` διαγράψετε-κατάλογος »και` αλλαγή καταλόγου »επιστρέφουν το επιχείρημά τους / filename προορισμό την επιτυχία
- πρόσθεσε τη διαδικασία που λείπουν `κατάσταση-μεταβλητού όνομα» στην srfi-18 μονάδα βιβλιοθήκη (Χάρη στην Joerg Wittenberger)
- Το `glob;» λειτουργία από τη '' μονάδα regex έχει αποδοκιμαστεί
- πρόσθεσε τη διαδικασία `σάρωσης εισροών-γραμμές» προς την `utils« βιβλιοθήκη μονάδα
- προστεθούν νέα επιλογή χρόνου εκτέλεσης '-: g », η οποία επιτρέπει τον εντοπισμό σφαλμάτων GC εξόδου
- ανάκτηση των αχρησιμοποίητων σύμβολα σε κατάσταση "σύμβολο-GC" (`-: β ') τώρα γίνεται μόνο για τα σύμβολα με ένα άδειο ακίνητο λίστα
- για τα Windows φόρτωση του κώδικα καταρτίζονται με [μη] βιβλιοθήκες GUI runtime θα αποτύχουν και να παράγει ένα μήνυμα σφάλματος όταν το εκτελέσιμο φόρτωσης συνδέεται με ένα διαφορετικό σύστημα runtime
- σε Windows, βιβλιοθήκες GUI δεν συνδέεται σωστά με `CSC»
- ενότητα posix: προστίθενται setter για `file-τροποποίηση-time»
- το banner δείχνει την branchname της κατασκευής, εκτός αν είναι "αφεντικό"
- το `-δεν-install 'επιλογή` κοτόπουλο-install' αγνοείται κατά την κατασκευή / εγκατάσταση εξαρτήσεις
- `κοτόπουλο-απεγκατάσταση» παίρνει ένα glob αντί για μια κανονική έκφραση ως επιχείρημα
- η μετονομασία και συγκρίνετε λειτουργίες χαμηλού επιπέδου μακρο-ορισμούς αποδέχονται πλέον αυθαίρετο S-εκφράσεις και μετονομάζει / τα συγκρίνει αναδρομικά
- `αριθμό- & gt? εγχόρδων« χειρίζεται αρνητικό αριθμούς με βάσεις διαφορετικές από τις 10 σωστά (χάρη στον Πέτρο Danenberg)
- απομακρυνθεί καταργηθεί `ρύθμιση-εγκατάσταση-σημαία» και `setup-φλύαρη-σημαία» από τη μονάδα `setup-api»
- προστεθούν νέα επιλογή `-repository να` κοτόπουλο-install '(το γκολ του Christian Kellermann)
- αφαιρεθεί `κοτόπουλο-εγκατάσταση« πρόγραμμα στέλεχος
- Διορθώστε να `CSC να χρησιμοποιούν τη σωστή βιβλιοθήκη, κατά τον καθορισμό δυναμικής απόσβεσης φορτίου (Χάρη στην Derrell Piper)
- αφαιρούνται html τεκμηρίωσης από τη διανομή (το εγχειρίδιο wiki θα εγκατασταθεί τώρα)
- Fixed bug στο `επανεξαγωγής» που προκάλεσε η σύνταξη δεν πρέπει να επανεξαχθούν σωστά
- Οι προηγούμενες αναθέσεις σε ένα πιο ψηλό επίπεδο μεταβλητή που χωρίζονται από παρενέργεια ελεύθερη έκφραση αφαιρεθεί
- σταθερά παράθυρα έκδοσης του `βρείτε αρχεία» (χάρη στο Jim Ursetto)
- τεκμηρίωσης για τις επεκτάσεις δεν εγκαθίσταται αυτόματα από `κοτόπουλο-install 'άλλο
- αλλάξει δυαδική έκδοση από το "4" στο "5", επειδή οι νέες βιβλιοθήκες χρόνου εκτέλεσης δεν είναι δυαδική συμβατό με προηγούμενες κυκλοφορίες? Αυτό σημαίνει ότι όλα τα αυγά πρέπει να εγκατασταθεί και να γίνεται ανασύνθεση των υφιστάμενων προγραμμάτων!
- προστεθούν unboxing πάσα compiler που οδηγεί σε εν μέρει δραματικές βελτιώσεις απόδοσης για τα μη ασφαλή κωδικό floating-point-εντατική? unboxing είναι ενεργοποιημένη στα επίπεδα βελτιστοποίησης 4 και 5
- απομακρύνεται βελτιστοποίηση υπόλοιπη-επιχείρημα-φορέα, όπως θα μπορούσε να συγκρούεται με Η ενσωμάτωση (χάρη στην Sven Hartrumpf)
- μετονομάστηκε σε `δείκτη-αντισταθμίζουν τους« να `δείκτη +» και ξεπερασμένο `δείκτη-offset»
- toplevel αναθέσεις που δεν διαθέτουν άλλες παρενέργειες μπορεί να εξαλειφθεί, εάν μπορεί να αποδειχθεί ότι η τιμή δεν χρησιμοποιείται (ο compiler θα δημιουργήσει μια προειδοποίηση σε αυτήν την περίπτωση)
- απομακρυνθεί καταργηθεί `-quiet» επιλογή `κοτόπουλου πρόγραμμα
- απομακρυνθεί καταργηθεί `run-time-μακροεντολές δήλωση»
- απομακρυνθεί καταργηθεί `-v2 'και` -V3 »επιλογές στο πρόγραμμα` CSC »
- απομακρυνθεί καταργηθεί `λίστας των« λειτουργιών (που είναι αποκλειστικά διαθέσιμο ως `λίστας του;» τώρα)
- απομακρυνθεί καταργηθεί `stat -...» λειτουργίες σε μονάδα βιβλιοθήκη POSIX
- απομακρυνθεί καταργηθεί `for-each-line» και `for-each-argv-line» διαδικασίες στην utils μονάδα βιβλιοθήκη
- προστιθέμενη `fpinteger; και `fpabs»
- αποδοκιμαστεί `ορίζουν-μεταγλωττισμένα-σύνταξη»
- προστίθεται νέο floating-point πρωτόγονων `fpsin ',` fpcos', `fptan ',` fpasin', `fpacos ',` fpatan', `fpatan2 ',` fpexp', `fplog ',` fpexpt' και ` fpsqrt '
- βαριά καθαρισμό του πλωτού μαθηματικές συναρτήσεις που δίνει πολύ καλύτερη απόδοση, ειδικά για τον κωδικό καταρτίζονται σε μη ασφαλή λειτουργία
- καλώντας `διεκδικούν» με ένα μοναδικό επιχείρημα δείχνει την έκφραση δοκιμαστεί σε αποτυχία
- διάφορες διορθώσεις και καθαρισμό
Τι είναι καινούργιο στην έκδοση 4.2.0:
- κοτόπουλο-εγκατάσταση έχει τροποποιηθεί για να ταξινομήσετε τις εξαρτήσεις βιβλιοθήκη στην τοπολογική σειρά, και να δοκιμάσουν τις εναλλακτικές διακομιστές, εάν ένας διακομιστής αυγό αποκρίνεται με ένα λάθος.
- Το εκτελέσιμο στοίβα σε ενότητες κώδικα assembly είναι απενεργοποιημένη από προεπιλογή.
- Πολλά σφάλματα έχουν καθοριστεί στο MinGW κατασκευής.
- Αρκετές νέες επιλογές έχουν προστεθεί για τον compiler και διερμηνέα.
Τι είναι καινούργιο στην έκδοση 3.4.0:
- Ο συντάκτης υποστηρίζει τώρα την επιλεκτική διαδικασία χαρακτηρισμού.
- Όλες οι διαδικασίες που σχετίζονται με αρχεία έχουν μετακινηθεί σε νέα αρχεία μονάδα.
- Έχουν γίνει πολλές διορθώσεις στο Cygwin και MinGW χτίζει.
- PCRE πακέτο με κοτόπουλο έχει ενημερωθεί.
Τα σχόλια δεν βρέθηκε