Gauche είναι μια εφαρμογή R5RS Σχέδιο αναπτύχθηκε για να είναι ένα εύχρηστο διερμηνέας σενάριο, το οποίο επιτρέπει στους προγραμματιστές και διαχειριστές του συστήματος για να γράψει μικρές έως μεγάλες σενάρια για τις καθημερινές τους δουλειές. Γρήγορη εκκίνηση, ενσωματωμένη διεπαφή του συστήματος, η μητρική πολυγλωσσική υποστήριξη είναι μερικοί από τους στόχους μου.
Gauche εφαρμογή τρέχει σε διάφορες Unix-like πλατφόρμες.
Εγκατάσταση
% Gzcat Gauche-0.8.3.tgz | XF πίσσα -
% Cd-Gauche 0.8.3
% ./configure
% Make
% Make install
Χαρακτηριστικά :.
- Εξώφυλλα R5RS, σχεδόν
- R5RS μακρο υποστηρίζεται όπως όλοι ορίζουν-σύνταξη, ας-σύνταξη, έντυπα letrec-σύνταξη. Νομίζω ότι η ταχύτητα διαστολής μακροεντολή είναι σημαντική ως διερμηνέας σενάριο, και έγραψε R5RS μακρο διαστολέα σε C, ενσωματωμένη στην εσωτερική μηχανή compiler.
- Αριθμητικά πράξεις που στηρίζονται σε fixnum, bignum, flonum και πολύπλοκο.
- Υποστηρίζει τις παρακάτω SRFIs.
- σύστημα Ενότητα: ένα απλό σύστημα της μονάδας, API συμβατό με STklos
- σύστημα Αντικείμενο: ΚΛΣΜ-όπως το σύστημα αντικείμενο με το πρωτόκολλο μετα-αντικείμενο. Σχεδόν API συμβατό με STklos. Είναι επίσης παρόμοιες με σύστημα αντικείμενο Guile 's.
- πολλών byte υποστήριξη κορδόνι: Οι κοσμικές χορδές αντιπροσωπεύονται από πολλών byte κορδόνι εσωτερικά. Μπορείτε να χρησιμοποιήσετε το UTF-8, EUC-JP, Shift-JIS ή όχι πολλών byte κωδικοποίηση από την επιλογή configure-χρόνου. Η μετατροπή μεταξύ εγγενές σύστημα κωδικοποίησης και εξωτερικό σύστημα κωδικοποίησης υποστηρίζεται από το λιμάνι αντικείμενα.
- πολλών byte regexp: Τακτική προσαρμογέα έκφραση γνωρίζει πολλών byte string? μπορείτε να χρησιμοποιήσετε χαρακτήρες πολλών byte τόσο σε σχέδια και συμφωνημένα χορδές.
- Reader επέκτασης: γραμματική κανονικής έκφρασης και χαρα-σετ, κορδόνι παρεμβολή: Εκτεταμένη αναγνώστης αναγνωρίζει # / ... / ως κανονική έκφραση, και # [...] ως ένα σύνολο χαρακτήρων. Handy να γράψω ένα-σκάφη της γραμμής. (Π.χ. (rxmatch-υποσυμβολοσειρά (rxmatch # / (D +) / & quot? Abc123def & quot?)) == & Gt? & Quot? 123 & quot?)
- Επίσης, & quot? Κορδόνι παρεμβολή & quot? υποστηρίζεται (π.χ. (Εμφάνιση # `& quot? 1 + 2 =, (+ 1 2) Ν & quot?)).
- Σύστημα: Καλύπτει το μεγαλύτερο μέρος του POSIX.1 και κάποια άλλα χαρακτηριστικά που είναι κοινά σε Unices. Ανατρέξτε στην ενότητα 6.19 του εγχειριδίου αναφοράς για λεπτομέρειες.
- διασύνδεσης δικτύου:. Έχει API για υποδοχή-based interface του δικτύου, συμπεριλαμβανομένων των IPv6 αν το λειτουργικό σύστημα που suppots
- Multithreading: Σε ορισμένες πλατφόρμες, multithreading στηρίζεται στην κορυφή του Pthreads. Σχέδιο-επίπεδο API σύμφωνο SRFI-18.
- διασύνδεση DBM:. Διασύνδεση με DBM-όπως βιβλιοθήκες (DBM, ndbm ή / και gdbm) εάν το σύστημα τους παρέχει
- XML parsing:. Τα εργαλεία SXML Oleg Kiselyov περιλαμβάνονται
- OpenGL δέσμευσης:. OpenGL δεσμευτική παρέχεται σε ξεχωριστό πακέτο
- GTK δεσμευτική: GTK2 σύνδεση παρέχεται σε ξεχωριστό πακέτο
Οι
Διεπαφή
Τι είναι καινούργιο σε αυτή την έκδοση:.
- Αυτή η έκδοση διορθώνει μερικά ζητήματα κατασκευής
Τι είναι καινούργιο στην έκδοση 0.9.3:
- Αυτή η έκδοση πρόσθεσε υποστήριξη για τεμπέλης ακολουθίες, η απρόσκοπτη ολοκλήρωση της αξιολόγησης τεμπέλης με τη λίστα χειραγώγησης.
- Τα Θέματα υποστηρίζεται σε Windows μητρική κατασκευής.
- Υπήρχαν διάφορες διορθώσεις και βελτιώσεις στην απόδοση.
Τι είναι καινούργιο στην έκδοση 0.9.2:
- Διάφορες μικρές βελτιώσεις και διορθώσεις σφαλμάτων χαρακτηριστικό έγιναν σε αυτό απελευθέρωση.
- Τα νέα χαρακτηριστικά περιλαμβάνουν υποστήριξη Unicode περίπτωση χαρτογράφησης, ένα βοηθητικό πρόγραμμα για την ατομική εκτέλεση, μια βολική χρησιμότητα της συγκριτικής αξιολόγησης, καθώς και ένα κοινό API για ρουτίνες γενιά C κώδικα.
- Το πρόγραμμα εγκατάστασης των Windows δυαδική έρχεται τώρα ως ένα αρχείο εγκατάστασης MS, που παράγεται από WIX.
Τι είναι καινούργιο στην έκδοση 0.9.1:
- Αυτή η έκδοση προσθέτει πολλά νέα χαρακτηριστικά, συμπεριλαμβανομένων των: αποτελεσματική αρχεία, ένα ενισχυμένο μηχανισμό ενότητα με μετονομασία και αριθμών γραμμής, παρατείνεται φορμόλες για προαιρετική και λέξη-κλειδί επιχειρήματα, μερική συνέχειες, πισίνες νήμα, καλύτερη υποστήριξη των Windows, JSON parsing, Blowfish κατακερματισμού κωδικού πρόσβασης, και περισσότερο.
Τι είναι καινούργιο στην έκδοση 0.9:
- C API ασύμβατες αλλαγές: εισάγονται Αρκετές ασύμβατες αλλαγές C API , η οποία μπορεί να προκαλέσει κάποια επέκταση να αποτύχει να συγκεντρώσει. Δείτε Αλλαγές API σε 0,9 για τις λεπτομέρειες.
- Νέα χαρακτηριστικά:
- Νέα ενότητα: rfc.zlib:. Zlib συμπίεσης / αποσυμπίεσης
- Νέα ενότητα: rfc.sha: υποστήριξη SHA2. rfc.sha1 έχει αντικατασταθεί από την ενότητα αυτή.
- Νέα ενότητα: util.sparse: Αραιή φορείς υποστηρίζεται από εξοικονομεί χώρο trie, και hash-πίνακες υλοποιηθεί πάνω σε αραιά διανύσματα. Είναι μνήμη αποδοτικοί από τους πίνακες κατακερματισμού ενσωματωμένη όταν θέλετε να κρατήσετε δεκάδες εκατομμύρια εγγραφές.
- Autoprovide: Δεν χρειάζεται πλέον «παρέχουν» μορφή για τις περισσότερες φορές. Αν (απαιτεί & quot? Χ & quot?) Φορτώνει με επιτυχία X.scm και δεν έχουν μια μορφή παροχή, τη λειτουργία & quot? Χ & quot? Είναι παρέχεται αυτόματα. Δείτε το & quot? Και να προσφέρεις & quot? τμήμα της αναφοράς για περισσότερες λεπτομέρειες.
- Ενότητα gauche.test: Βελτιωμένη δοκιμών για εξαιρέσεις. Μπορείτε τώρα να ελέγξετε αν ένα συγκεκριμένο είδος της κατάστασης ρίχνεται δίνοντας (κατάσταση τύπου δοκιμής-σφάλματος) ως το αναμενόμενο αποτέλεσμα. Δείτε το εγχειρίδιο για περισσότερες λεπτομέρειες.
- Ενότητα rfc.http: Τώρα χειρίζεται δι 'αντιπροσώπου: μεσολάβησης επιχείρημα λέξη-κλειδί. Μπορείτε επίσης να συνθέσετε εύκολα application / x-www-form-urlencoded και το μήνυμα multipart / form-data για να στείλετε τις παραμέτρους φόρμα. Νέες διαδικασίες:. Http εισροής και http-διαγραφή
- Ενότητα rfc.mime:. Προστέθηκε υποστήριξη της συντάσσετε ένα μήνυμα MIME
- gauche.threads Ενότητα: Νέες διαδικασίες:. Νήμα-stop !, νήμα-cont !, νήμα κατάστασης
- gauche.termios Ενότητα: Στα Windows εγγενή υποστήριξη, το υποσύστημα αυτό παρέχει το Windows Console API αντί του POSIX termios API, αφού emulationg termios POSIX για Windows είναι πάρα πολύ. Ένα σύνολο κοινών API υψηλού επιπέδου που μπορεί να χρησιμοποιηθεί και στις δύο POSIX και Windows προστίθενται επίσης.
- Ενότητα gauche.dictionary παρέχει αμφίδρομη χάρτη.
- run-διαδικασία στην ενότητα gauche.process, και ενσωματωμένη SYS-exec και SYS-πιρούνι-and-exec υποστήριξη:. Επιχείρημα λέξη-κλειδί κατάλογο για να καθορίσετε τον κατάλογο εργασίας της διαδικασίας εκτελούνται
- Ενότητα file.util προβλέπει τη δημιουργία-κατάλογο-δέντρο και το check-κατάλογο-δέντρο.
- Ενότητα gauche.net παρέχει λειτουργίες υποδοχή χαμηλού επιπέδου: υποδοχή-sendmsg, υποδοχή-buildmsg, και υποδοχή-ioctl. Κλήση-με-client-υποδοχή παίρνει νέα args λέξη-κλειδί για να καθορίσετε τη λειτουργία buffering για την υποδοχή.
- Ενότητα www.cgi:. Cgi-διακόπτες κύριας τη λειτουργία buffering του stderr στη γραμμή, έτσι ώστε το ημερολόγιο httpd μπορεί να καταγράφει τα μηνύματα λάθους γραμμή-γραμμή (πολύ λιγότερο από ό, τι πριν από την ακαταστασία)
- Σημαντικές διορθώσεις και βελτιώσεις:
- Διορθώθηκε το πρόβλημα κατασκευής σε OSX 10.6 (Snow Leopard).
- Η απόδοση βελτιώνεται σημαντικά σε αριθμό κινητής arithmetics σημείο, προαιρετικό χειρισμό επιχείρημα ενσωματωμένη διαδικασιών, καθώς και την περίπτωση-λ.
- Τώρα όλοι οι χαρακτήρες κενού διαστήματος που ορίζεται στο R6RS λειτουργεί ως intertoken χώρους στον πηγαίο κώδικα.
- Ένα προειδοποιητικό μήνυμα εκτυπώνεται όταν ένα νήμα βγαίνει με ένα λάθος και κανένα άλλο νήμα ανάκτηση της κατάστασης του από το νήμα-join! πριν από νήμα είναι GC-ed. Αυτό βοηθά στην αντιμετώπιση προβλημάτων. Επειδή το νήμα-join! Είναι ο μόνος τρόπος να γνωρίζουμε αν το νήμα exitted από ένα σφάλμα, θα πρέπει είτε να καλέσετε το νήμα-join! για να βεβαιωθείτε ότι έχετε ελέγξει την κατάσταση, ή να γράψει το thunk νήμα για να πιάσει όλα τα λάθη και να χειρίζονται σωστά.
- Ανώνυμος όνομα του module είναι #F τώρα, αντί του (κάπως αυθαίρετα επιλέγονται) | # |.
- Ορισμένα εξαρτήματα για τα σύμβολα: «uninterned« symbos υποστηρίζονται επίσημα (τα σύμβολα που παράγονται από gensym έχουν uninterned, αλλά δεν έχει τεκμηριωθεί επίσημα.) Uninterned σύμβολα γράφονται ως #: σύμβολο a la CommonLisp. Uninterned σύμβολα δεν είναι εγγεγραμμένοι στον πίνακα εσωτερικής σύμβολο, έτσι δεν υπάρχει καμία ανησυχία για το όνομα της συντριβής. Ο μόνος τρόπος για να αναφερθώ στο ίδιο uninterned σύμβολο από περισσότερες από μία θέση στον πηγαίο κώδικα είναι να χρησιμοποιήσετε srfi-38 σημειογραφία (# n = και n # #). Μπορείτε να δημιουργήσετε uninterned σύμβολο από χορδών & gt? Uninterned-σύμβολο και να ελέγξει εάν ένα σύμβολο περιορισμού ή όχι με το σύμβολο-προτιθέμεθα ?. Υπάρχει επίσης μια νέα διαδικασία, το σύμβολο-sans-πρόθεμα.
Τι είναι καινούργιο στην έκδοση 0.8.14:
- Αυτή είναι μια απελευθέρωση συντήρησης, συμπεριλαμβανομένων των σωρευτικών διορθώσεις και πολυάριθμες μικρές βελτιώσεις.
- Μέρος της VM έχει ξαναγραφεί για καλύτερη απόδοση και δυνατότητα συντήρησης.
Τα σχόλια δεν βρέθηκε