Έκδοση του SBCL 2.3.9, μια υλοποίηση της γλώσσας Common Lisp

Δημοσιεύτηκε η κυκλοφορία του SBCL 2.3.9 (Steel Bank Common Lisp), μιας δωρεάν υλοποίησης της γλώσσας προγραμματισμού Common Lisp. Ο κώδικας του έργου είναι γραμμένος σε Common Lisp και C και διανέμεται με την άδεια BSD.

Στη νέα έκδοση:

  • Η κατανομή στοίβας μέσω DYNAMIC-EXTENT εφαρμόζεται πλέον όχι μόνο στην αρχική δέσμευση, αλλά και σε όλες τις τιμές που μπορεί να λάβει η μεταβλητή (για παράδειγμα, μέσω SETQ). Αυτό καθιστά δυνατή, για παράδειγμα, την απλοποίηση της κατασκευής πολύπλοκων ή αναδρομικών δομών σε μια στοίβα μέσω επανάληψης.
  • Ορισμένες διεπαφές στη μονάδα SB-POSIX έχουν κατασκευαστεί για να συμμορφώνονται με τις προδιαγραφές και ένα αποτέλεσμα NULL από τη βιβλιοθήκη C θεωρείται σφάλμα εάν και μόνο εάν το σφάλμα αλλάξει από την κλήση. Σε αυτήν την περίπτωση, θα δημιουργηθεί το σήμα SYSCALL-ERROR.
  • Βελτιωμένη λειτουργία των μακροεντολών DO-PASSWDS και DO-GROUPS στη μονάδα SB-POSIX. Αυτές οι μακροεντολές έχουν σχεδιαστεί για να λειτουργούν με ασφάλεια με τον κωδικό πρόσβασης και τη βάση δεδομένων ομάδας.
  • Η υποστήριξη για τις πλατφόρμες Darwin x86 και PowerPC έχει αποκατασταθεί (χάρη στους Kirill A. Korinsky, Sergey Fedorov και barracuda156).
  • Διορθώθηκε η λανθασμένη συλλογή που προέκυψε λόγω λανθασμένων συμπερασμάτων τύπου κατά τον πολλαπλασιασμό των τιμών σταθερού αριθμού με κλασματικές τιμές.
  • Διορθώθηκε ένα σφάλμα μεταγλωττιστή που παρουσιάστηκε σε ορισμένες περιπτώσεις κατά τον έλεγχο υπογεγραμμένων και μη υπογεγραμμένων τιμών 64-bit.
  • Διορθώθηκε ένα σφάλμα μεταγλωττιστή όταν το όρισμα ":INITIAL-CONTENTS" στο MAKE-ARRAY είναι μια σταθερά μη ακολουθίας.
  • Διορθώθηκε ένα σφάλμα κατά τη μεταγλώττιση των συναρτήσεων συνέλιξης σε μια δεδομένη σταθερά ακολουθίας κατά την επιστροφή μιας ψευδούς τιμής από τις συναρτήσεις ":TEST" ή ":KEY".
  • Διορθώθηκε ένα σφάλμα κατά τη μεταγλώττιση συναρτήσεων ή ακολουθιών πίνακα με ορίσματα που υποδηλώνουν πολύ μεγάλα μεγέθη ακολουθιών.
  • Διορθώθηκε ένα σφάλμα μεταγλωττιστή που παρουσιάζεται όταν δεν χρησιμοποιείται η τιμή που επιστράφηκε από το ADJUST-ARRAY.
  • Βελτιστοποιημένο συμπέρασμα μεταγλωττιστή για τους τύπους συναρτήσεων που μπορούν να διαδοθούν προς τα πίσω μέσω μιας ενδιάμεσης αναπαράστασης.
  • Βελτιωμένο συμπέρασμα τύπου για LDB, LOGBITP και RATIO.
  • Έχουν γίνει βελτιστοποιήσεις για την εξάλειψη των περιττών ελέγχων ορίων για πολλές περιπτώσεις μεταβατικών συγκρίσεων.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο