Common Lisp dilinin bir uygulaması olan SBCL 2.3.9'un sürümü

Common Lisp programlama dilinin ücretsiz uygulaması olan SBCL 2.3.9'un (Steel Bank Common Lisp) sürümü yayınlandı. Proje kodu Common Lisp ve C dillerinde yazılmıştır ve BSD lisansı altında dağıtılmaktadır.

Yeni sürümde:

  • DYNAMIC-EXTENT aracılığıyla yığın tahsisi artık yalnızca ilk bağlamaya değil, aynı zamanda değişkenin alabileceği tüm değerlere de (örneğin SETQ aracılığıyla) uygulanıyor. Bu, örneğin bir yığındaki karmaşık veya özyinelemeli yapıların inşasını yineleme yoluyla basitleştirmeyi mümkün kılar.
  • SB-POSIX modülündeki bazı arayüzler spesifikasyona uyacak şekilde yapılmıştır ve C kütüphanesinden gelen NULL sonucu, yalnızca errno'nun çağrı tarafından değiştirilmesi durumunda bir hata olarak kabul edilir. Bu durumda SYSCALL-ERROR sinyali üretilecektir.
  • SB-POSIX modülündeki DO-PASSWDS ve DO-GROUPS makrolarının geliştirilmiş çalışması. Bu makrolar, parola ve grup veritabanıyla güvenli bir şekilde çalışacak şekilde tasarlanmıştır.
  • Darwin x86 ve PowerPC platformlarına yönelik destek yeniden sağlandı (Kirill A. Korinsky, Sergey Fedorov ve barracuda156 sayesinde).
  • Fixnum değerleri kesirli değerlerle çarpılırken hatalı tür çıkarımı nedeniyle oluşan hatalı derleme düzeltildi.
  • İmzalı ve imzasız 64 bit değerleri kontrol ederken bazı durumlarda oluşan derleyici hatası düzeltildi.
  • MAKE-ARRAY için ":INITIAL-CONTENTS" bağımsız değişkeni sıra dışı bir sabit olduğunda ortaya çıkan derleyici hatası düzeltildi.
  • ":TEST" veya ":KEY" işlevlerinden yanlış bir değer döndürüldüğünde, evrişim işlevlerini belirli bir sıra sabitine derlemede oluşan hata düzeltildi.
  • Dizi işlevlerini veya dizilerini, çok büyük dizi boyutları anlamına gelen bağımsız değişkenlerle derlerken oluşan bir hata düzeltildi.
  • ADJUST-ARRAY'den döndürülen değer kullanılmadığında oluşan derleyici hatası düzeltildi.
  • Bir ara gösterim yoluyla geriye doğru yayılabilen işlev türlerinin optimize edilmiş derleyici çıkarımı.
  • LDB, LOGBITP ve RATIO için geliştirilmiş tür çıkarımı.
  • Birçok geçişli karşılaştırma durumu için gereksiz sınır kontrollerini ortadan kaldırmak amacıyla optimizasyonlar yapılmıştır.

Kaynak: opennet.ru

Yorum ekle