ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π° Π²Π΅ΡΡΠΈΡ SBCL 2.4.1 (Steel Bank Common Lisp), ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Common Lisp. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΡΠΈΡΠ΅ Common Lisp ΠΈ C ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ BSD.
Π Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:
- Π ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈΡ ΡΠ±ΠΎΡΠ½ΠΈΠΊ Π½Π° ΠΎΡΠΏΠ°Π΄ΡΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° mark-region, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΡΠ°ΡΡΠΈΡΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π·Π°Π³Π»Π°Π²ΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΈ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈ.
- ΠΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΎΠ±ΡΠ²Π΅Π½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π½Π° Π²ΡΡΡΠ°Π½Π΅ Π² ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Ρ Π²ΠΈΡΠΎΠΊΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° SAFETY ΠΈ Π² ΡΠ΅ΠΆΠΈΠΌ DEBUG 3 Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΈΠΏΠ° Π·Π° Π²ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ.
- ΠΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° FreeBSD Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Ρ libpthread ΠΈ Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° Π°Π΄ΡΠ΅ΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ (ASLR).
- ΠΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½Π° Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ° Π½Π° 64-Π±ΠΈΡΠ½ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ riscv ΠΈ ppc.
- ΠΠ° Π²ΡΠΈΡΠΊΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° fastrem-32 (Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ Π½Π° FLOOR).
- ΠΡΡΡΡΠ°Π½Π΅Π½Π° Π΅ Π³ΡΠ΅ΡΠΊΠ°, Π²ΠΎΠ΄Π΅ΡΠ° Π΄ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅ ΡΠ»Π΅Π΄ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΎΡ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈΡ ΡΠ±ΠΎΡΠ½ΠΈΠΊ Π½Π° ΠΎΡΠΏΠ°Π΄ΡΡΠΈ mark-region.
- Π Π΅ΡΠ΅Π½ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Ρ Π·Π°ΡΠΈΠΊΠ»ΡΠ½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Ρ ΡΠΈΠΏΠΎΠ²Π΅ SATISFIES.
- Π₯Π΅Ρ-ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°ΡΡΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° (ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΡΠ°Π±Π»ΠΈΡΠΈ Unicode), ΡΠ° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Ρ Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ΠΈ ΠΎΡ ΠΊΠΎΠ»ΠΈΠ·ΠΈΠΈ (perfect).
- ΠΠ°ΠΊΡΠΎΡΡΡ TYPECASE Π·Π° ΠΉΠ΅ΡΠ°ΡΡ ΠΈΠΈ Π½Π° ΡΡΡΡΠΊΡΡΡΠ½ΠΈ ΠΊΠ»Π°ΡΠΎΠ²Π΅ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Ρ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° Ρ Π΅Ρ Π±Π΅Π· ΠΊΠΎΠ»ΠΈΠ·ΠΈΠΈ.
- Π‘ ΡΠ΅Π» ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΡΠ° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π·Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΈ ΠΎΡΠΌΠ΅ΡΡΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΡΡ Π·Π½Π°Π΅, ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡΡ Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ ΠΎΡ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈ ΠΎΡΠΌΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ.
- Π ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° ΡΠ° Π²Π·Π΅ΡΠΈ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ DIGIT-CHAR.
- Π ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π² Π½ΡΠΊΠΎΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π½Π° APPLY, CONCATENATE ΠΈ MAKE-ARRAY Π·Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ, ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈ ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΠΈ Ρ Π½ΠΎΠ²ΠΈ cons-ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
- Π£ΡΠΊΠΎΡΠ΅Π½Π° Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠΈΠΊΡΠ»Π° Β«(LOOP FOR X IN (REVERSE LIST) β¦)Β», ΠΊΠΎΠΉΡΠΎ ΡΠ΅Π³Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ cons-ΠΎΠ²Π΅.
- Π¦ΠΈΠΊΡΠ»ΡΡ Β«(LOOP β¦ APPEND β¦)Β» ΡΡΠ°Π½Π° ΠΏΠΎ-ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ΅Π½ ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° NIL.
- Π£ΡΠΊΠΎΡΠ΅Π½ΠΈ ΠΈ ΡΡΠΊΡΠ°ΡΠ΅Π½ΠΈ ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈΡΠ΅ Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠ°ΡΠΈΠ²ΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
