Keluaran SBCL 2.3.9, pelaksanaan bahasa Common Lisp

Keluaran SBCL 2.3.9 (Steel Bank Common Lisp), pelaksanaan percuma bahasa pengaturcaraan Common Lisp, telah diterbitkan. Kod projek ditulis dalam Common Lisp dan C, dan diedarkan di bawah lesen BSD.

Dalam keluaran baharu:

  • Peruntukan tindanan melalui DYNAMIC-EXTENT kini digunakan bukan sahaja pada pengikatan awal, tetapi juga kepada semua nilai yang boleh diambil oleh pembolehubah (contohnya, melalui SETQ). Ini memungkinkan, sebagai contoh, untuk memudahkan pembinaan struktur kompleks atau rekursif dalam timbunan melalui lelaran.
  • Beberapa antara muka dalam modul SB-POSIX dibuat untuk mematuhi spesifikasi, dan hasil NULL dari perpustakaan C dianggap ralat jika dan hanya jika errno diubah oleh panggilan. Dalam kes ini, isyarat SYSCALL-ERROR akan dihasilkan.
  • Operasi yang lebih baik bagi makro DO-PASSWDS dan DO-GROUPS dalam modul SB-POSIX. Makro ini direka bentuk untuk berfungsi dengan selamat dengan kata laluan dan pangkalan data kumpulan.
  • Sokongan untuk platform Darwin x86 dan PowerPC telah dipulihkan (terima kasih kepada Kirill A. Korinsky, Sergey Fedorov dan barracuda156).
  • Memperbaiki kompilasi yang salah yang berlaku disebabkan inferens jenis yang salah apabila mendarab nilai fixnum dengan nilai pecahan.
  • Memperbaiki ralat pengkompil yang berlaku dalam beberapa kes apabila menyemak nilai 64-bit yang ditandatangani dan tidak ditandatangani.
  • Memperbaiki ralat pengkompil apabila hujah ":INITIAL-CONTENTS" kepada MAKE-ARRAY ialah pemalar bukan urutan.
  • Memperbaiki ralat dalam menyusun fungsi lilitan ke pemalar jujukan tertentu apabila mengembalikan nilai palsu daripada fungsi ":TEST" atau ":KEY".
  • Memperbaiki pepijat apabila menyusun fungsi tatasusunan atau jujukan dengan hujah yang membayangkan saiz jujukan yang sangat besar.
  • Memperbaiki ralat pengkompil yang berlaku apabila nilai yang dikembalikan daripada ADJUST-ARRAY tidak digunakan.
  • Inferens pengkompil yang dioptimumkan bagi jenis fungsi yang boleh disebarkan ke belakang melalui perwakilan perantaraan.
  • Inferens jenis yang dipertingkatkan untuk LDB, LOGBITP dan RATIO.
  • Pengoptimuman telah dibuat untuk menghapuskan semakan sempadan yang tidak perlu untuk banyak kes perbandingan transitif.

Sumber: opennet.ru

Tambah komen