Publicerat utgÄvan av SBCL 2.4.0 (Steel Bank Common Lisp), en fristÄende implementation av programmeringssprÄket Common Lisp. Projektkoden Àr skriven i sprÄken Common Lisp och C, och distribueras under BSD-licens.
I den nya utgÄvan:
- Ăndringar som bryter kompatibilitet:
- *COMPILE-VERBOSE* och *LOAD-VERBOSE* Ă€r bundna till NIL nĂ€r systemet startas med kommandoradsargumentet "âscript".
- vid sökningen efter kÀrnfilen kontrollerar systemet om det som anges i /proc/self/exe Àr korrekt, och om /proc/self/exe visar sig vara inkorrekt, kontrollerar den argv[0].
- systemet tillhandahÄller inte lÀngre typnamn för standard (CL) symboler ARRAY-RANK, ARRAY-TOTAL-SIZE, PATHNAME-HOST, PATHNAME-TYPE, PATHNAME-DIRECTORY, FLOAT-RADIX eller FLOAT-DIGITS.
- Stödda plattformar:
- PÄ arm64-system finns möjlighet att aktivera en parallell skrÀpmaskinsamlarare som anvÀnder mark-region-algoritmen.
- Problem med byggandet i nya versioner av FreeBSD har lösts.
- Buggfixar:
- Korrektheten av kompilatorns typutdata har ÄterstÀllts vid anrop av REDUCE med ":INITIAL-VALUE" men utan ":FROM-END".
- En kompilatorfel vid deklarationen av "SB-EXT:MUFFLE-CONDITIONS" för okÀnd typ har ÄtgÀrdats.
- I vissa fall gav disassemblern felaktigt formaterad utdata för register.
- Sannolikheten för att systemet ska uppleva stackutslÀckning vid utdata av stacköverskridande fel har nÄgot minskats;
- Optimeringar:
- I mÄnga fall har skrivbarriÀrer i skrÀpmaskinsamlaren ÄtgÀrdats.
- Typutdata för iterationsvariabler med blandade typer har förbÀttrats.
- OanvÀnda initialiseringsvÀrden för LET-bindningar har tagits bort, typvalet för register har förbÀttrats.
- EQUALP/EQUAL/EQL har sÀnkts till EQL/EQ i FIND/MEMBER, baserat pÄ inmatningstyper.
- Typutdata för DPB, LOGIOR har förbÀttrats.
KĂ€lla: opennet.ru
