Vydanie SBCL 2.4.0, implementácia jazyka Common Lisp

Bolo zverejnené vydanie SBCL 2.4.0 (Steel Bank Common Lisp), voľnej implementácie programovacieho jazyka Common Lisp. Kód projektu je napísaný v jazykoch Common Lisp a C a je distribuovaný pod licenciou BSD.

V novom vydaní:

  • Zmeny, ktoré narúšajú kompatibilitu:
    • *COMPILE-VERBOSE* a *LOAD-VERBOSE* sú viazané na NIL pri spustení systému s argumentom príkazového riadka "--script".
    • pri hľadaní súboru jadra systém skontroluje správnosť toho, čo je uvedené v /proc/self/exe, a ak /proc/self/exe je nesprávne, skontroluje argv[0].
    • systém už neposkytuje názvy typov pre štandardné (CL) symboly ARRAY-RANK, ARRAY-TOTAL-SIZE, PATHNAME-HOST, PATHNAME-TYPE, PATHNAME-DIRECTORY, FLOAT-RADIX alebo FLOAT-DIGITS.
  • Podpora platformy:
    • Na systémoch arm64 je možné povoliť paralelný zberač odpadu, ktorý využíva algoritmus mark-region.
    • Problémy pri zostavovaní v nových vydaniach FreeBSD boli vyriešené.
  • Opravy chýb:
    • Správnosť odvodenia typu kompilátorom pri volaní REDUCE s „:INITIAL-VALUE“, ale bez „:FROM-END“ bola obnovená.
    • Opravená chyba kompilátora pri deklarovaní "SB-EXT:MUFFLE-CONDITIONS" pre neznámy typ.
    • V niektorých prípadoch disassembler produkoval nevzhľadný formátovaný výstup pre registre.
    • Pravdepodobnosť, že sa systému opäť minie zásobník pri zobrazení chyby o vyčerpaní riadiaceho zásobníka, bola mierne znížená;
  • Optimalizácie:
    • Zábrany proti zápisu do zberača odpadu boli v mnohých prípadoch odstránené.
    • Vylepšená inferencia typu pre iteračné premenné so zmiešanými typmi.
    • Odstránené nepoužité inicializačné hodnoty pre väzby LET, vylepšený výber typu registra.
    • Zníženie EQUAL/EQUAL/EQL na EQL/EQ v FIND/MEMBER na základe typov vstupov.
    • Vylepšená inferencia typu pre DPB, LOGIOR.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster