Π§Ρ‚ΠΎ сдСлало Lisp особСнным

«Π’Π΅Π»ΠΈΡ‡Π°ΠΉΡˆΠΈΠΉ ΠΈΠ· ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ созданных языков программирования«
β€” Alan Kay, Β«on LispΒ»

Π§Ρ‚ΠΎ сдСлало Lisp особСнным

Когда ΠœΠ°ΠΊΠΊΠ°Ρ€Ρ‚ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» Lisp Π² ΠΊΠΎΠ½Ρ†Π΅ 1950-Ρ…, ΠΎΠ½ Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ отличался ΠΎΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… языков, самым Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ‹Π» Fortran.

Lisp Π²ΠΎΠΏΠ»ΠΎΡ‚ΠΈΠ» Π΄Π΅Π²ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Ρ… ΠΈΠ΄Π΅ΠΉ:

1. УсловныС высказывания (Conditionals). УсловныС высказывания это if-then-else конструкция. БСйчас ΠΌΡ‹ воспринимаСм ΠΈΡ… ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ΅. Они Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½Ρ‹ ΠœΠ°ΠΊΠΊΠ°Ρ€Ρ‚ΠΈ Π²ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Lisp. (Fortran Π² Ρ‚ΠΎ врСмя ΠΈΠΌΠ΅Π» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ goto-утвСрТдСния, тСсно связанныС с инструкциСй вСтвлСния Π½Π° Π»Π΅ΠΆΠ°Ρ‰Π΅ΠΌ Π² основС ΠΆΠ΅Π»Π΅Π·Π΅.) ΠœΠ°ΠΊΠΊΠ°Ρ€Ρ‚ΠΈ, Π±ΡƒΠ΄ΡƒΡ‡ΠΈ Π² ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚Π΅ ΠΏΠΎ Algol, внёс условныС высказывания Π² Algol, ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΎΠ½ΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΠΈΠ»ΠΈΡΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки.

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’Ρƒ ΠΈ Π΄Π°Π»Π΅Π΅ ΠΊ ΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°ΠΌ.

Когда язык сдСлан ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ· Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ выраТСния ΠΊΠ°ΠΊ ΠΏΠΎΠΆΠ΅Π»Π°Π΅Ρ‚Π΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ синтаксис Arc)

(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

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