SBCL 2.3.9 ning chiqarilishi, Common Lisp tilining amalga oshirilishi

Common Lisp dasturlash tilini bepul tatbiq etuvchi SBCL 2.3.9 (Steel Bank Common Lisp) versiyasi nashr etildi. Loyiha kodi Common Lisp va C tillarida yozilgan va BSD litsenziyasi ostida tarqatiladi.

Yangi nashrda:

  • DYNAMIC-EXTENT orqali stekni ajratish endi nafaqat dastlabki bog'lanishga, balki o'zgaruvchi qabul qilishi mumkin bo'lgan barcha qiymatlarga ham tegishli (masalan, SETQ orqali). Bu, masalan, iteratsiya orqali stekdagi murakkab yoki rekursiv tuzilmalarni qurishni soddalashtirish imkonini beradi.
  • SB-POSIX modulidagi ba'zi interfeyslar spetsifikatsiyaga mos ravishda yaratilgan va C kutubxonasidan olingan NULL natijasi, agar qo'ng'iroq orqali xato o'zgartirilsa, xato hisoblanadi. Bunday holda, SYSCALL-ERROR signali hosil bo'ladi.
  • SB-POSIX modulidagi DO-PASSWDS va DO-GROUPS makroslarining yaxshilangan ishlashi. Ushbu makroslar parol va guruh ma'lumotlar bazasi bilan xavfsiz ishlash uchun mo'ljallangan.
  • Darwin x86 va PowerPC platformalarini qo'llab-quvvatlash tiklandi (Kirill A. Korinskiy, Sergey Fedorov va barracuda156 tufayli).
  • Fiksnum qiymatlarini kasr qiymatlariga ko'paytirishda xato turdagi xulosalar tufayli yuzaga kelgan noto'g'ri kompilyatsiya tuzatildi.
  • Imzolangan va imzolanmagan 64 bitli qiymatlarni tekshirishda ba'zi hollarda yuzaga kelgan kompilyator xatosi tuzatildi.
  • MAKE-ARRAY uchun ":INITIAL-CONTENTS" argumenti ketma-ket bo'lmagan konstanta bo'lganda kompilyator xatosi tuzatildi.
  • β€œ:TEST” yoki β€œ:KEY” funksiyalaridan notoβ€˜gβ€˜ri qiymat qaytarishda konvolyutsiya funksiyalarini berilgan ketma-ketlik konstantasiga kompilyatsiya qilishdagi xatolik tuzatildi.
  • Juda katta ketma-ketlik o'lchamlarini nazarda tutuvchi argumentlar bilan massiv funktsiyalari yoki ketma-ketliklarni kompilyatsiya qilishda xatolik tuzatildi.
  • ADJUST-ARRAY dan qaytarilgan qiymat ishlatilmaganda yuzaga keladigan kompilyator xatosi tuzatildi.
  • Oraliq ko'rinish orqali orqaga yoyilishi mumkin bo'lgan funksiya turlari bo'yicha optimallashtirilgan kompilyator xulosasi.
  • LDB, LOGBITP va RATIO uchun yaxshilangan turdagi xulosa.
  • O'tish davridagi taqqoslashlarning ko'p holatlari uchun keraksiz chegaralarni tekshirishni bartaraf etish uchun optimallashtirishlar amalga oshirildi.

Manba: opennet.ru

a Izoh qo'shish