«ΠΠ΅Π»ΠΈΡΠ°ΠΉΡΠΈΠΉ ΠΈΠ· ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ«
β Alan Kay, Β«on LispΒ»
ΠΠΎΠ³Π΄Π° ΠΠ°ΠΊΠΊΠ°ΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π» Lisp Π² ΠΊΠΎΠ½ΡΠ΅ 1950-Ρ
, ΠΎΠ½ ΡΠ°Π΄ΠΈΠΊΠ°Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π»ΡΡ ΠΎΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΡΠ·ΡΠΊΠΎΠ², ΡΠ°ΠΌΡΠΌ Π³Π»Π°Π²Π½ΡΠΌ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
Π±ΡΠ»
Lisp Π²ΠΎΠΏΠ»ΠΎΡΠΈΠ» Π΄Π΅Π²ΡΡΡ Π½ΠΎΠ²ΡΡ
ΠΈΠ΄Π΅ΠΉ:
1. Π£ΡΠ»ΠΎΠ²Π½ΡΠ΅ Π²ΡΡΠΊΠ°Π·ΡΠ²Π°Π½ΠΈΡ (Conditionals).Β Π£ΡΠ»ΠΎΠ²Π½ΡΠ΅ Π²ΡΡΠΊΠ°Π·ΡΠ²Π°Π½ΠΈΡ ΡΡΠΎ if-then-else ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ. Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌ ΠΈΡ
ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ΅. ΠΠ½ΠΈ Π±ΡΠ»ΠΈ
2. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ (A function type). Π Lisp’Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° β ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΡΠΈΡΠ»Π°, ΡΡΡΠΎΠΊΠΈ ΠΈ Ρ.Π΄., ΠΈ ΠΈΠΌΠ΅ΡΡ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΠΌΠΎΠ³ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΈ.Ρ.Π΄.
3. Π Π΅ΠΊΡΡΡΠΈΡ (Recursion).Β Π Π΅ΠΊΡΡΡΠΈΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»Π° ΠΊΠ°ΠΊ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π΄ΠΎ Lisp’Π°, Π½ΠΎ Lisp Π±ΡΠ» ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΌ Π΅Ρ. (ΠΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.)
4. ΠΠΎΠ²Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (A new concept of variables).Β Π Lisp’Π΅ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ β ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π΅ΡΡΡ Ρ ΡΠΈΠΏΠΎΠ², Π° Π½Π΅ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π° ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ, Π° Π½Π΅ ΡΠΎΠ³ΠΎ, Π½Π° ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ.
5. Π‘Π±ΠΎΡΠΊΠ° ΠΌΡΡΠΎΡΠ° (Garbage-collection).
6. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ (Programs composed of expressions). ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Lisp’Π΅ ΡΡΠΎ Π΄Π΅ΡΠ΅Π²ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. (ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Lisp-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.) ΠΡΠΎ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΠΊΠΎΠ½ΡΡΠ°ΡΡ Ρ Fortran’ΠΎΠΌ ΠΈ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ Π΄ΡΡΠ³ΠΈΡ ΡΡΠΏΠ΅ΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡ Β«Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΒ» ΠΈ Β«ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡΒ».
ΠΡΠ»ΠΎ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΠΊΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ Π² Fortran’Π΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ·ΡΠΊ Π±ΡΠ» Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ (Π½Π΅ ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ·ΡΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ Π²Π²ΠΎΠ΄Π° Π±ΡΠ»Π° ΠΏΠ΅ΡΡΠΎΠΊΠ°ΡΡΠ°). ΠΡ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ ΠΈΠΌΠ΅ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ. Π ΠΏΠΎΠΊΠ° Π²Π°ΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΈΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ, Π½Π΅ Π±ΡΠ»ΠΎ ΡΠΌΡΡΠ»Π° Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π·Π°ΡΡΠ°Π²Π»ΡΡΡ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π΅ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΠΎΠ³Π»ΠΎ Π½Π΅ Π±ΡΡΡ ΡΠ΅Π³ΠΎ-ΡΠΎ, ΡΡΠΎ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π±ΡΠ»ΠΈ ΡΠ½ΡΡΡ Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π±Π»ΠΎΡΠ½ΠΎ-ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ², Π½ΠΎ ΠΊ ΡΠΎΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π±ΡΠ»ΠΎ ΡΠΆΠ΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΏΠΎΠ·Π΄Π½ΠΎ. Π Π°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡΠΌΠΈ ΡΠΆΠ΅ Π·Π°ΠΊΡΠ΅ΠΏΠΈΠ»ΠΎΡΡ. ΠΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ»ΠΎ ΠΎΡ Fortran’Π° ΠΊ Algol’Ρ ΠΈ Π΄Π°Π»Π΅Π΅ ΠΊ ΠΈΡ ΠΏΠΎΡΠΎΠΌΠΊΠ°ΠΌ.
ΠΠΎΠ³Π΄Π° ΡΠ·ΡΠΊ ΡΠ΄Π΅Π»Π°Π½ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ· Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ ΠΏΠΎΠΆΠ΅Π»Π°Π΅ΡΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π»ΠΈΠ±ΠΎ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΒ
(if foo (= x 1) (= x 2))
Π»ΠΈΠ±ΠΎ
(= x (if foo 1 2))
7. Π‘ΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΉ ΡΠΈΠΏ (A symbol type).Β Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΡΡΡΠΎΠΊ, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π° ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ, ΡΡΠ°Π²Π½ΠΈΠ² ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ.
8. ΠΠΎΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ΄Π° (A notation for code) Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π΅ΡΠ΅Π²ΡΠ΅Π² ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
9. ΠΠ΅ΡΡ ΡΠ·ΡΠΊ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΡΡΡΠΏΠ΅Π½ (The whole language always available). ΠΠ΅Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΡΠ΅Π½ΠΈΡ, Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠ΄ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΠ΅Π½ΠΈΡ, ΠΈΠ»ΠΈ ΡΠΈΡΠ°ΡΡ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΠ΅, ΠΈΠ»ΠΈ ΡΠΈΡΠ°ΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠ°ΠΏΡΡΠΊ ΠΊΠΎΠ΄Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Lisp’Π°; Π·Π°ΠΏΡΡΠΊ ΠΊΠΎΠ΄Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π° Π΄Π»Ρ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ²; ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Lisp’ΠΎΠ² ΠΊΠ°ΠΊ ΡΠ·ΡΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π² ΡΠ°ΠΊΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΠΊΠ°ΠΊ Emacs; ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΡΡΠ΅Π½ΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ s-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΈΠ΄Π΅Ρ, Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΡΠ½Π½Π°Ρ Π² XML.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΠ³Π΄Π° Lisp Π±ΡΠ» ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΡΠ½, Π²ΡΠ΅ ΡΡΠΈ ΠΈΠ΄Π΅ΠΈ Π±ΡΠ»ΠΈ ΡΠΈΠ»ΡΠ½ΠΎ Π΄Π°Π»Π΅ΠΊΠΈ ΠΎΡ ΠΎΠ±ΡΡΠ½ΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΈΠΊΡΠΎΠ²Π°Π»ΠΈΡΡ ΠΆΠ΅Π»Π΅Π·ΠΎΠΌ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ Π² ΠΊΠΎΠ½ΡΠ΅ 1950-Ρ .
Π‘ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΠ·ΡΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π²ΠΎΠΏΠ»ΠΎΡΡΠ½Π½ΡΠΉ Π² ΡΡΠΏΠ΅Ρ Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ², ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΠ²ΠΎΠ»ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π» Π² ΡΡΠΎΡΠΎΠ½Ρ Lisp. ΠΡΠ½ΠΊΡΡ 1-5 ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΈΡΠΎΠΊΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Ρ. ΠΡΠ½ΠΊΡ 6 Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² ΠΌΡΠΉΠ½ΡΡΡΠΈΠΌΠ΅. Π Python’Π΅ Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΠΈΠ΄Π΅ Π΅ΡΡΡ ΠΏΡΠ½ΠΊΡ 7, Ρ ΠΎΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π½Π΅Ρ. ΠΡΠ½ΠΊΡ 8, ΠΊΠΎΡΠΎΡΡΠΉ (Ρ ΠΏΡΠ½ΠΊΡΠΎΠΌ 9) Π΄Π΅Π»Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΠΌΠ°ΠΊΡΠΎΡΡ Π² Lisp’Π΅, Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Lisp’Π΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ (Π°) ΠΎΠ½ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΡΠΈ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ΅Π³ΠΎ-ΡΠΎ ΡΡΠΎΠ»Ρ ΠΆΠ΅ ΠΏΠ»ΠΎΡ ΠΎΠ³ΠΎ, ΠΈ (Π±) Π΅ΡΠ»ΠΈ Π²Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ, ΡΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ, ΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ΅Π»ΠΈ Π½ΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ, Π° ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π½ΠΎΠ²ΡΠΉ Π΄ΠΈΠ°Π»Π΅ΠΊΡ Lisp’Π°; -)
Π₯ΠΎΡΡ ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΡΡΡΠ°Π½Π½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Lisp Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ ΠΎΡΠ»ΠΈΡΠΈΡ ΠΎΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ
ΠΏΡΠΈΡΠΌΠΎΠ², ΠΏΡΠΈΠ½ΡΡΡΡ
Π² Π΄ΡΡΠ³ΠΈΡ
ΡΠ·ΡΠΊΠ°Ρ
. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠΎ, ΠΎ ΡΡΠΌ Π΄ΡΠΌΠ°Π» ΠΠ°ΠΊΠΊΠ°ΡΡΠΈ. Lisp Π½Π΅ Π±ΡΠ» ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Fortran’Π°; ΠΎΠ½ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΡΠΊΠΎΡΠ΅Π΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ ΠΏΠΎΠΏΡΡΠΊΠΈ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com