SBCL 2.3.9:n julkaisu, Common Lisp -kielen toteutus

SBCL 2.3.9 (Steel Bank Common Lisp), Common Lisp -ohjelmointikielen ilmainen toteutus, on julkaistu. Projektikoodi on kirjoitettu Common Lisp- ja C-kielillä, ja sitä jaetaan BSD-lisenssillä.

Uudessa julkaisussa:

  • Pinon allokointi DYNAMIC-EXTENTin kautta ei koske nyt vain alkuperäistä sidontaa, vaan myös kaikkia arvoja, jotka muuttuja voi ottaa (esimerkiksi SETQ:n kautta). Tämä mahdollistaa esimerkiksi monimutkaisten tai rekursiivisten rakenteiden rakentamisen pinossa iteroinnin avulla.
  • Jotkut SB-POSIX-moduulin liitännät on tehty spesifikaatioiden mukaisiksi, ja C-kirjaston NULL-tulosta pidetään virheenä, jos ja vain, jos kutsu muuttaa virhettä. Tässä tapauksessa generoidaan SYSCALL-ERROR-signaali.
  • SB-POSIX-moduulin DO-PASSWDS- ja DO-GROUPS-makrojen parannettu toiminta. Nämä makrot on suunniteltu toimimaan turvallisesti salasanan ja ryhmätietokannan kanssa.
  • Tuki Darwin x86- ja PowerPC-alustoille on palautettu (kirill A. Korinskyn, Sergey Fedorovin ja barracuda156:n ansiosta).
  • Korjattu virheellinen käännös, joka johtui virheellisestä tyyppipäätelmästä kerrottaessa fixnum-arvoja murtoluvuilla.
  • Korjattu kääntäjävirhe, joka ilmeni joissakin tapauksissa tarkistettaessa allekirjoitettuja ja allekirjoittamattomia 64-bittisiä arvoja.
  • Korjattu kääntäjävirhe, kun MAKE-ARRAY-argumentti ":INITIAL-CONTENTS" on ei-sekvenssivakio.
  • Korjattu virhe konvoluutiofunktioiden kääntämisessä tietyksi sekvenssivakioksi, kun palautettiin väärä arvo ":TEST"- tai ":KEY"-funktioista.
  • Korjattu virhe, kun käännetään taulukkofunktioita tai -sarjoja argumenteilla, jotka viittaavat erittäin suuriin sekvenssikokoihin.
  • Korjattu kääntäjävirhe, joka ilmenee, kun ADJUST-ARRAY:stä palautettua arvoa ei käytetä.
  • Optimoitu kääntäjän päättely funktiotyypeistä, jotka voidaan siirtää taaksepäin väliesityksen kautta.
  • Parannettu tyyppipäätelmä LDB:lle, LOGBITP:lle ja RATIOlle.
  • Optimointeja on tehty tarpeettomien rajojen tarkastuksen poistamiseksi monissa transitiivisten vertailujen tapauksissa.

Lähde: opennet.ru

Lisää kommentti