Common Lisp dilinin tətbiqi olan SBCL 2.3.9-un buraxılışı

Common Lisp proqramlaşdırma dilinin pulsuz tətbiqi olan SBCL 2.3.9 (Steel Bank Common Lisp) buraxılışı nəşr olundu. Layihə kodu Common Lisp və C dillərində yazılmışdır və BSD lisenziyası altında paylanmışdır.

Yeni buraxılışda:

  • DYNAMIC-EXTENT vasitəsilə yığının ayrılması indi yalnız ilkin bağlamaya deyil, həm də dəyişənin ala biləcəyi bütün dəyərlərə (məsələn, SETQ vasitəsilə) aiddir. Bu, məsələn, iterasiya vasitəsilə yığında mürəkkəb və ya rekursiv strukturların qurulmasını sadələşdirməyə imkan verir.
  • SB-POSIX modulundakı bəzi interfeyslər spesifikasiyaya uyğunlaşdırılır və C kitabxanasından alınan NULL nəticəsi yalnız və yalnız zəng tərəfindən səhv dəyişdirildikdə xəta hesab olunur. Bu halda SYSCALL-ERROR siqnalı yaranacaq.
  • SB-POSIX modulunda DO-PASSWDS və DO-GROUPS makrolarının təkmilləşdirilmiş işi. Bu makrolar parol və qrup verilənlər bazası ilə təhlükəsiz işləmək üçün nəzərdə tutulmuşdur.
  • Darwin x86 və PowerPC platformalarına dəstək bərpa edildi (Kirill A. Korinsky, Sergey Fedorov və barracuda156 sayəsində).
  • Fiksnum dəyərlərini fraksiyalı dəyərlərə vurarkən səhv tip nəticəsinə görə baş verən səhv kompilyasiya düzəldildi.
  • İmzalanmış və imzalanmamış 64 bitlik dəyərləri yoxlayarkən bəzi hallarda baş verən kompilyator xətası düzəldildi.
  • MAKE-ARRAY üçün ":INITIAL-CONTENTS" arqumenti ardıcıl olmayan sabit olduqda kompilyator xətası düzəldildi.
  • “:TEST” və ya “:KEY” funksiyalarından yanlış qiymət qaytararkən, konvolyusiya funksiyalarını verilmiş ardıcıllıq sabitinə tərtib edərkən xəta düzəldildi.
  • Çox böyük ardıcıllıq ölçülərini nəzərdə tutan arqumentlərlə massiv funksiyaları və ya ardıcıllıqları tərtib edərkən səhv düzəldildi.
  • ADJUST-ARRAY-dən qaytarılan dəyər istifadə edilmədikdə baş verən kompilyator xətası düzəldildi.
  • Aralıq təqdimat vasitəsilə geriyə doğru yayıla bilən funksiya növlərinin optimallaşdırılmış tərtibçi qənaəti.
  • LDB, LOGBITP və RATIO üçün təkmilləşdirilmiş növ nəticə.
  • Transitiv müqayisələrin bir çox halları üçün lazımsız sərhəd yoxlamalarını aradan qaldırmaq üçün optimallaşdırmalar edilmişdir.

Mənbə: opennet.ru

Добавить комментарий