Az SBCL 2.3.9 kiadása, a Common Lisp nyelv megvalósítása

Megjelent az SBCL 2.3.9 (Steel Bank Common Lisp), a Common Lisp programozási nyelv ingyenes megvalósítása. A projekt kódja Common Lisp és C nyelven íródott, és a BSD licenc alatt kerül terjesztésre.

Az új kiadásban:

  • A DYNAMIC-EXTENT-en keresztüli veremkiosztás mostantól nem csak a kezdeti összerendelésre vonatkozik, hanem minden olyan értékre is, amelyet a változó felvehet (például a SETQ-n keresztül). Ez lehetővé teszi például az összetett vagy rekurzív struktúrák felépítését egy veremben iterációval.
  • Az SB-POSIX modul egyes interfészei megfelelnek a specifikációnak, és a C könyvtárból származó NULL eredmény akkor és csak akkor minősül hibának, ha a hívás megváltoztatja az errno-t. Ebben az esetben a SYSCALL-ERROR jel generálódik.
  • A DO-PASSWDS és DO-GROUPS makrók jobb működése az SB-POSIX modulban. Ezeket a makrókat úgy tervezték, hogy biztonságosan működjenek együtt a jelszó- és csoportadatbázissal.
  • A Darwin x86 és a PowerPC platformok támogatása helyreállt (hála Kirill A. Korinskynek, Sergey Fedorovnak és a barracuda156-nak).
  • Javítva a helytelen fordítás, amely a fixnum értékek törtértékekkel való szorzásakor hibás típuskövetkeztetés miatt következett be.
  • Kijavítottuk a fordítói hibát, amely egyes esetekben előfordult az aláírt és előjel nélküli 64 bites értékek ellenőrzésekor.
  • Javítva egy fordítói hiba, amikor a MAKE-ARRAY ":INITIAL-CONTENTS" argumentuma nem szekvencia állandó.
  • Hiba javítása a konvolúciós függvények adott sorozatállandóvá történő fordításában, amikor a „:TEST” vagy „:KEY” függvények hamis értéket adnak vissza.
  • Javítottunk egy hibát, amikor tömbfüggvényeket vagy sorozatokat fordítottunk olyan argumentumokkal, amelyek nagyon nagy sorozatméretekre utalnak.
  • Kijavítottuk a fordítói hibát, amely akkor fordul elő, ha az ADJUST-ARRAY által visszaadott érték nem kerül felhasználásra.
  • A függvénytípusok optimalizált fordítói következtetése, amelyek egy köztes reprezentáción keresztül visszafelé továbbíthatók.
  • Továbbfejlesztett típuskövetkeztetés LDB, LOGBITP és RATIO esetén.
  • A tranzitív összehasonlítások sok esetben optimalizálták a szükségtelen határellenőrzéseket.

Forrás: opennet.ru

Hozzászólás