Vydání SBCL 2.3.9, implementace jazyka Common Lisp

Bylo zveřejněno vydání SBCL 2.3.9 (Steel Bank Common Lisp), bezplatná implementace programovacího jazyka Common Lisp. Kód projektu je napsán v Common Lisp a C a je distribuován pod licencí BSD.

V novém vydání:

  • Alokace zásobníku pomocí DYNAMIC-EXTENT se nyní vztahuje nejen na počáteční vazbu, ale také na všechny hodnoty, které může proměnná nabývat (například prostřednictvím SETQ). To umožňuje například zjednodušit konstrukci složitých nebo rekurzivních struktur v zásobníku pomocí iterace.
  • Některá rozhraní v modulu SB-POSIX jsou vyrobena tak, aby odpovídala specifikaci, a výsledek NULL z knihovny C je považován za chybu tehdy a pouze tehdy, když se voláním změní errno. V tomto případě bude generován signál SYSCALL-ERROR.
  • Vylepšené ovládání maker DO-PASSWDS a DO-GROUPS v modulu SB-POSIX. Tato makra jsou navržena tak, aby bezpečně pracovala s databází hesel a skupin.
  • Podpora platforem Darwin x86 a PowerPC byla obnovena (díky Kirillu A. Korinskému, Sergeji Fedorovovi a barracuda156).
  • Opravena nesprávná kompilace, ke které došlo v důsledku chybného odvození typu při násobení hodnot fixnum zlomkovými hodnotami.
  • Opravena chyba kompilátoru, která se v některých případech vyskytovala při kontrole podepsaných a nepodepsaných 64bitových hodnot.
  • Opravena chyba kompilátoru, kdy argument ":INITIAL-CONTENTS" pro MAKE-ARRAY je nesekvenční konstanta.
  • Opravena chyba při kompilaci konvolučních funkcí do dané sekvenční konstanty při vracení falešné hodnoty z funkcí „:TEST“ nebo „:KEY“.
  • Opravena chyba při kompilaci funkcí pole nebo sekvencí s argumenty, které implikují velmi velké velikosti sekvencí.
  • Opravena chyba kompilátoru, ke které dochází, když není použita hodnota vrácená z ADJUST-ARRAY.
  • Optimalizované vyvozování typů funkcí kompilátoru, které lze šířit zpětně prostřednictvím střední reprezentace.
  • Vylepšené odvození typu pro LDB, LOGBITP a RATIO.
  • Byly provedeny optimalizace, aby se odstranily zbytečné kontroly hranic pro mnoho případů tranzitivních srovnání.

Zdroj: opennet.ru

Přidat komentář