Выпуск SBCL 2.4.2, Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ языка Common Lisp

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ выпуск SBCL 2.4.2 (Steel Bank Common Lisp), свободной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ языка программирования Common Lisp. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языках Common Lisp ΠΈ Π‘ΠΈ, ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ BSD.

Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС:

  • ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ систСмой самой-сСбя Π½Π° систСмах x86-64 c Linux Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎ-ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹Π΅ кросс-ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ fasl-Ρ‹ Ρ‚Π°ΠΌ, Π³Π΄Π΅ сборочным хостом являСтся cmucl, ccl, clisp ΠΈΠ»ΠΈ сам sbcl.
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ:
    • Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ число Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†, Π² частности Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ относятся ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Unicode Π±Ρ‹Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π° использованиС Ρ…Π΅Ρˆ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈΠ·Π±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… ΠΎΡ‚ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΉ (perfect), Ρ‡Ρ‚ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠ»ΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ сократило Ρ€Π°Π·ΠΌΠ΅Ρ€.
    • FIND, POSITION, ASSOC ΠΈ RASSOC с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, содСрТащими символы Π² Ρ€ΠΎΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ для поиска с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ…Π΅ΡˆΠ΅ΠΉ, ΠΈΠ·Π±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… ΠΎΡ‚ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΉ.
    • На систСмах x86-64 Π² компиляторС обСспСчСно устранСниС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° jump-to-jump.
  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ ошибок:
    • ВосстановлСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ наслСдования ΠΈ ΠΎΡ‚ SEQUENCE ΠΈ ΠΎΡ‚ SB-MOP:FUNCALLABLE-STANDARD-OBJECT.
    • COERCE Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ лямбда Ρ„ΠΎΡ€ΠΌΡ‹ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ссли Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Π±ΡƒΠ΄Π΅Ρ‚ подклассом FUNCTION.
    • LOG с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ double-float ΠΈ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ (Π² любом порядкС) Π½Π΅ тСряСт точности Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ single-float-Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚.
    • LOG ΠΏΠΎ основанию 2 цСлочислСнной стСпСни Π΄Π²ΠΎΠΉΠΊΠΈ вСроятнСС всСго даст матСматичСски Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚.
    • LOG Π½Π° Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… числах Π±Π»ΠΈΠ·ΠΊΠΈΡ… ΠΊ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ с числитСлСм ΠΈΠ»ΠΈ Π·Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»Π΅ΠΌ Π±Π»ΠΈΠ·ΠΊΠΈΠΌ ΠΊ стСпСни Π΄Π²ΠΎΠΉΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ log1p ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π΅Ρ€ΡΡ‚ΡŒ мСньшС точности.
    • Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ utf-8 с Unix-окончаниями строки обновляСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² символов ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ быстрого ΠΏΡƒΡ‚ΠΈ для Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² ASCII-символов.
    • НС ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π»ΠΎΡΡŒ содСрТимоС вСроятно Π±ΠΎΠ»Π΅Π΅ Π½Π΅ Π²Π°Π»ΠΈΠ΄Π½Ρ‹Ρ… динамичСски ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… cons-ΠΎΠ² Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ PRINT-OBJECT для THREAD ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².
    • ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½ΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ‚ΠΎΡ‡Π΅ΠΊ Π²Ρ…ΠΎΠ΄Π° для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠ΅Ρ€Π΅Π΄ Π»ΡŽΠ±Ρ‹ΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ функциями.
    • Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для Π·Π°ΠΊΠ°Π²Ρ‹Ρ‡Π΅Π½Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹Ρ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² APPEND Π½Π° высокой скорости.
    • БСсконСчный Ρ†ΠΈΠΊΠ» Π² COPY-SEQ Π½Π° массивах Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ с Ρ‚ΠΈΠΏΠΎΠΌ элСмСнтов NIL.
    • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ компиляции конструкторов структур Π½Π΅ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня.
  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ Π² SB-SIMD:
    • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π³Ρ€Π°Π½ΠΈΡ† Π² SB-SIMD.
    • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ SB-SIMD AVX f64.4-reverse.
    • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ тасования SB-SIMD Π½Π° AVX ΠΈ SSE2.
    • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ·Π½ΠΈ Π² sse+xmm0 VOP-Π°Ρ….

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ