Wydanie SBCL 2.4.0, implementacji języka Common Lisp

Opublikowano wydanie SBCL 2.4.0 (Steel Bank Common Lisp), wolnej implementacji języka programowania Common Lisp. Kod projektu napisany jest w językach Common Lisp i C, i jest rozpowszechniany na licencji BSD.

W nowym wydaniu:

  • Zmiany naruszające zgodność:
    • *COMPILE-VERBOSE* i *LOAD-VERBOSE* są ustawione na NIL podczas uruchamiania systemu z argumentem wiersza poleceń „—script”.
    • podczas wyszukiwania pliku core, system sprawdza poprawność tego, co jest podane w /proc/self/exe, a jeśli /proc/self/exe okaże się niepoprawny, sprawdza argv[0].
    • system nie zapewnia już nazw typów dla standardowych (CL) symboli ARRAY-RANK, ARRAY-TOTAL-SIZE, PATHNAME-HOST, PATHNAME-TYPE, PATHNAME-DIRECTORY, FLOAT-RADIX lub FLOAT-DIGITS.
  • Wsparcie platform:
    • Na systemach arm64 wprowadzono możliwość włączenia równoległego zbieracza śmieci korzystającego z algorytmu mark-region.
    • Rozwiązano problemy z kompilacją w nowych wersjach FreeBSD.
  • Poprawki błędów:
    • Przywrócono poprawność wyjścia typu przez kompilator podczas wywołań REDUCE z „:INITIAL-VALUE” ale bez „:FROM-END”.
    • Usunięto błąd kompilatora przy deklaracji „SB-EXT:MUFFLE-CONDITIONS” dla nieznanego typu.
    • W niektórych przypadkach disassembler generował źle sformatowane wyjście dla rejestrów.
    • Nieco zmniejszona prawdopodobieństwo ponownego wyczerpania stosu przez system przy wyświetlaniu błędu wyczerpania kontrolnego stosu;
  • Optymalizacje:
    • W wielu przypadkach usunięto przeszkody zapisu w zbieraczu śmieci.
    • Ulepszono wyjście typów dla zmiennych iteracyjnych o mieszanych typach.
    • Usunięto nieużywane wartości inicjalizacyjne dla powiązań LET, poprawiono wybór typu rejestrów.
    • Zredukowano EQUALP/EQUAL/EQL do EQL/EQ w FIND/MEMBER, na podstawie wprowadzonych typów.
    • Ulepszono wyjście typu dla DPB, LOGIOR.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster