πΎ Archived View for polyserv.xyz βΊ posts βΊ 2024-06-05-new-project.gmi captured on 2024-12-17 at 09:27:46. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ LISP'Π° Π΄Π»Ρ Hare?
ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ 2024-06-05. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ 2024-11-05.
ΠΡΠ°ΠΊ, ΠΎ Π½ΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
ΠΠ²Π°ΡΡ Π΅Π³ΠΎ **ΠΌΡΡΠΊΠ°**[^1]. ΠΠ±ΠΎ ΠΎΠ½ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ!
Π― ΠΏΠΎΠ΄ΡΠΌΠ°Π», ΡΠ΅Π³ΠΎ ΠΆΠ΅ ΠΌΠ½Π΅ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ? ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΠ²ΠΎΠ΅Π³ΠΎ Π΄ΠΈΠ°Π»Π΅ΠΊΡΠ° **Scheme**. ΠΠΎΠ½Π΅ΡΠ½ΠΎ Π΄Π΅Π»ΠΎ Π½Π΅ Π² ΡΠΎΠΌ, ΡΡΠΎ Ρ Ρ ΠΎΡΡ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ **Hare**[^2] ΠΆΠΈΠ²ΡΡ Π±Π΅Π· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°ΡΡΠΈΡΠΈΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ. Π’Π°ΠΊ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ! **"ΠΠΎΠΊΠΎΠ»Π΅!"** ΠΏΠΎΠ΄ΡΠΌΠ°Π» Ρ ΠΈ ΡΠ΅Π» Π·Π° ΡΠ°Π±ΠΎΡΡ.
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Ρ ΠΎΠΆΠΈΠ΄Π°Π», ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΌΠ½Π΅ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ. ΠΠΎ ΠΈΠΌΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π΄Π»Ρ **Emacs** ΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠΏΡΡ Π² ΡΠ°ΠΌΠΎΠΌ **Hare**, Ρ ΠΈΠΌΠ΅Π» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Ρ ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΠΎΠ΄ΠΎΠΉΡΠΈ. Π’Π°ΠΊΠΆΠ΅ Ρ Π½Π°ΡΡΠ» ΠΏΡΠΎΡΡΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΡΡ ΡΡΠ°ΡΡΡ[^3], Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΡΠ΅Π½Ρ Π±Π°Π·ΠΎΠ²ΠΎ, Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ ΡΡΠΎ ΠΈ ΠΊΠ°ΠΊ Π½ΡΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ. Π― Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π» Π»Π΅ΠΊΡΠ΅Ρ ΠΈΠ· ΡΠ°ΠΌΠΎΠ³ΠΎ **Hare**, Π½Π°ΠΏΠΈΡΠ°Π» Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ **READ**, ΠΏΠΎΠ΄ΠΊΡΡΡΠΈΠ» **EVAL**. Π Π½Π΅ ΡΡΠΏΠ΅Π» Ρ ΠΌΠΎΡΠ³Π½ΡΡΡ, ΠΊΠ°ΠΊ ΠΌΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π½Π°ΡΠ°Π» ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΈΡΠ΅Π» **Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ** Π½Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠΈΡΠ°ΡΠΈΡ!
(define (fib n) (if (= n 2) 1 (if (= n 1) 1 (+ (fib (- n 1)) (fib (- n 2))))))
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΠΈΠ»ΠΈΠ» ΡΠ°ΠΌ **REPL** ΠΈ Π²ΠΎΡ ΠΈΠΌ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ!
$ ./mice mice-repl v0.0.0 Ξ» => (define x 12) 12 Ξ» => (+ x 25) 37 Ξ» => (define y (+ x 25)) 37 Ξ» => (exit) Bye!
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π΅ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄ΠΈ, Π½ΠΎ Ρ ΡΠΌΠΎΠ³Ρ Ρ ΡΡΠΈΠΌ ΡΠΏΡΠ°Π²ΠΈΡΡΡΡ. ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Ρ Π΄ΡΠΌΠ°Π», ΡΡΠΎ Π±ΡΠ΄Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ Π² Π½Π΅Π΄Π΅Π»Ρ. ΠΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ **Scheme** Π½Π° **Hare** ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ ΡΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ, ΡΡΠΎ Π·Π° ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Ρ ΡΠΌΠΎΠ³ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ ΡΠ°ΠΌΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ. ΠΡΠΌΠ°Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ΄ΡΡ ΡΠΎ ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΌΡΡΠΎΡΠ°. Π§ΡΠΎ-ΡΠΎ ΠΌΠ½Π΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π΄ΠΎ ΠΌΠ΅Π½Ρ Π½Π° **Hare** ΡΡΠΎΠ³ΠΎ Π½ΠΈΠΊΡΠΎ Π½Π΅ Π΄Π΅Π»Π°Π». ΠΡΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° Π½Π° ΡΡΠ°ΡΠΎΠΌ Π΄ΠΎΠ±ΡΠΎΠΌ **C**. ΠΠ»Π°Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Ρ **Hare** ΠΈ **C** ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌΡΠ΅.
ΠΠ΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠΌ Π±ΠΎΠ½ΡΡΠΎΠΌ Ρ ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΠΊΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΉ ΠΏΠ°Π·Π»Π° "ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ". Π’Π΅ΠΏΠ΅ΡΡ Ρ ΠΌΠΎΠ³Ρ Ρ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠ°ΡΠΈΠ½Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π½ΠΎ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» ΡΠ°ΠΊΡΡ ΠΌΠ°ΡΠΈΠ½Ρ, Ρ ΠΎΡΡ Π½Π° ΠΎΡΠ΅Π½Ρ Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΈ Π½Π΅ Π² ΠΆΠ΅Π»Π΅Π·Π΅. ΠΠΎ ΠΊΡΠΎ Π·Π½Π°Π΅Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π΄ΠΎ ΡΡΡΠΊΠΎΠ²ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΈ Π½Π° **ΠΠΠΠ‘** Π΄ΠΎΠ±Π΅ΡΡΡΡ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ.
Π ΠΏΠΎΠΊΠ° ΠΏΠΎΠΆΠ΅Π»Π°ΠΉΡΠ΅ ΠΌΠ½Π΅ ΡΠ΄Π°ΡΠΈ, Ρ.ΠΊ. Π½Π° ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Ρ ΠΌΠ΅Π½Ρ Π½Ρ ΡΠΆ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΠ»Π°Π½Ρ.
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ...
"ΠΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ" ΡΠ΅ΡΠ΅Π· WWW
Β© 2024 POLYSERV BY MODERN HOME