ΠΠΈΡΠ°Π½ ΠΠΈΠΏΠΎΠ²Π°ΡΠ°
ΠΠ·ΡΡΠ°ΠΉ Haskell Π²ΠΎ ΠΈΠΌΡ Π΄ΠΎΠ±ΡΠ°!
ΠΡ ΠΈΠ·Π΄Π°ΡΠ΅Π»Ρ
ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° Π½Π°ΡΠΈΠ½Π°Π»Π°ΡΡ ΠΊΠ°ΠΊ Π°Π½Π³Π»ΠΎΡΠ·ΡΡΠ½ΡΠΉ ΠΎΠ½Π»Π°ΠΉΠ½ΠΎΠ²ΡΠΉ ΡΡΠ΅Π±Π½ΠΈΠΊ ΠΏΠΎ ΡΠ·ΡΠΊΡ Haskell, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠ»ΠΎΠ²Π΅Π½ΡΠΊΠΈΠΌ ΡΡΡΠ΄Π΅Π½ΡΠΎΠΌ, ΠΈΠ·ΡΡΠ°ΡΡΠΈΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΡ, ΠΠΈΡΠ°Π½ΠΎΠΌ ΠΠΈΠΏΠΎΠ²Π°ΡΠ΅ΠΉ (Miran LipovaΔa) Π² 2008 Π³ΠΎΠ΄Ρ. Π ΠΌΠ°Π΅ 2009 Π³ΠΎΠ΄Π° Π½Π° ΡΠ°ΠΉΡΠ΅ translated.by ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΠΌΠΈΡΡΠΈΠΉ ΠΠ΅ΡΡΠΈΠ½ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ» ΠΏΠ΅ΡΠ²ΡΠ΅ Π³Π»Π°Π²Ρ ΡΡΠ΅Π±Π½ΠΈΠΊΠ° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Π½Π° ΡΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ. ΠΠ³ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Ρ ΠΏΠΎΠ΄Ρ Π²Π°ΡΠΈΠ» ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Ρ Π‘ΠΈΠ½ΠΈΡΡΠ½. Π ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π»ΠΈ ΡΡΠ°ΡΡΠΈΠ΅ ΠΠΈΡΠ°Π»ΠΈΠΉ ΠΠ°ΠΏΡΡΡΡΠ½, ΠΠ²Π°Π½ Π’Π΅ΡΡΡ ΠΈΠ½, ΠΠΌΠΈΡΡΠΈΠΉ ΠΡΡΠ»ΠΎΠ², ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ olegchir, artobstrel95, Julia ΠΈ Π΄ΡΡΠ³ΠΈΠ΅. ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΡΡΠ΅Π±Π½ΠΈΠΊ ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ, ΡΡΠΎ Π² 2011 Π³ΠΎΠ΄Ρ ΠΎΠ½ Π±ΡΠ» ΠΈΠ·Π΄Π°Π½ Π² ΠΏΠ΅ΡΠ°ΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅. Π’Π΅ΠΊΡΡ ΠΎΠ½Π»Π°ΠΉΠ½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ΅ ΠΏΠ΅ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΡ Π±ΡΠ» ΡΠ΅ΡΡΡΠ·Π½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ ΠΈ ΡΠ»ΡΡΡΠ΅Π½. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΏΡΡΡ Π³Π»Π°Π² ΡΡΠ΅Π±Π½ΠΈΠΊΠ° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠ»ΠΈΡΡ ΡΠΆΠ΅ ΠΏΠΎ ΠΏΠ΅ΡΠ°ΡΠ½ΠΎΠΌΡ ΠΈΠ·Π΄Π°Π½ΠΈΡ Π―ΡΠΈΡΠΎΠΌ ΠΡΡΠ°Π½ΡΠΊΠ°Π΅Π²ΡΠΌ. ΠΠΎΡΠΎΠ²ΡΠΉ ΡΠ΅ΠΊΡΡ Π±ΡΠ» ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ Π ΠΎΠΌΠ°Π½ΠΎΠΌ ΠΡΡΠΊΠΈΠ½ΡΠΌ. ΠΠ° Π²ΡΠΎΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π·Π°Π½ΠΈΠΌΠ°Π»ΡΡ ΠΠΈΡΠ°Π»ΠΈΠΉ ΠΡΠ°Π³ΠΈΠ»Π΅Π²ΡΠΊΠΈΠΉ; ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ²ΡΠ» ΡΠ΅ΠΊΡΡ ΠΏΠ΅ΡΠ²ΡΡ Π΄Π΅ΡΡΡΠΈ Π³Π»Π°Π² ΠΊΠ½ΠΈΠ³ΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Ρ Π°Π½Π³Π»ΠΎΡΠ·ΡΡΠ½ΡΠΌ ΠΏΠ΅ΡΠ°ΡΠ½ΡΠΌ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π» ΡΠ΅ΠΊΡΡ ΡΠ°Π·Π΄Π΅Π»Π° Β«ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΒ». ΠΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅, Π²ΡΡΡΡΠΊΠ° ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²Π° Β«ΠΠΠ ΠΡΠ΅ΡΡΒ».
ΠΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅
ΠΠΎΠ³Π΄Π° Π² Π½Π°ΡΠ°Π»Π΅ 2006 Π³ΠΎΠ΄Π° Ρ ΡΠ°Π΄ΠΈΠ»ΡΡ Π·Π° ΡΠ²ΠΎΡ ΠΏΠ΅ΡΠ²ΡΡ ΠΊΠ½ΠΈΠ³Ρ ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ [2], Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°ΠΌΠ΅ΡΠ΅Π²Π°Π»ΡΡ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ·ΡΠΊΠ° Haskell, Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΌΠ½Π΅Π½ΠΈΡ Π½Π° ΡΠ΅ΠΉ ΡΡΡΡ. ΠΠ°, Π·Π° ΠΏΠ»Π΅ΡΠ°ΠΌΠΈ ΡΠΆΠ΅ Π±ΡΠ» ΠΏΡΡΠΈΠ»Π΅ΡΠ½ΠΈΠΉ ΠΎΠΏΡΡ ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΡ Π»Π΅ΠΊΡΠΈΠΉ ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΠΎΡΠΊΠΎΠ²ΡΠΊΠΎΠΌ ΠΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΎ-Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΠ½ΡΡΠΈΡΡΡΠ΅ (ΠΠΠ€Π), Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΈ Π²Π²ΡΠ» Π² ΡΡΠ΅Π±Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΡΠΎΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠ΅Π³ΠΎΡΡ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ·ΡΠΊΠ° Lisp. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠΎΠ³Π΄Π° Π΅ΡΡ Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΈΡΠ΅Π³ΠΎ, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ·ΡΠΊΠ° ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ°ΡΠ΅ΠΉ. Π‘ΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΎ, Π²ΠΏΡΠΎΡΠ΅ΠΌ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ½ΠΈΠ³ ΠΎ Haskell Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ [3, 4, 5, 7], Π½ΠΎ Π² ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π° Π΄ΠΎΡΡΠ°ΡΡ ΠΈΡ Π±ΡΠ»ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Ρ Π²ΡΠ±ΡΠ°Π» ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΡ ΡΠ·ΡΠΊ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠΎΠΌ ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Lisp (Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ ΠΈΠ· Π΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π΄ΠΈΠ°Π»Π΅ΠΊΡΠΎΠ²) Π±ΡΠ»ΠΎ Π±Ρ Π½Π΅ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ β ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈΠΌΠ΅Π»ΠΈΡΡ Π² ΠΈΠ·Π±ΡΡΠΊΠ΅.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΠΎΠ³Π΄Π° Ρ Π½Π΅ ΠΎΡΠΈΠ±ΡΡ Π² ΡΠ²ΠΎΡΠΌ Π²ΡΠ±ΠΎΡΠ΅. Π Π°Π·Π²ΠΈΡΠΈΠ΅ ΡΠ·ΡΠΊΠ° ΡΠ»ΠΎ ΡΠ΅ΠΌΠΏΠ°ΠΌΠΈ Π½Π°Π±ΠΈΡΠ°ΡΡΠ΅Π³ΠΎ ΡΠΊΠΎΡΠΎΡΡΡ Π»ΠΎΠΊΠΎΠΌΠΎΡΠΈΠ²Π°. ΠΠΎΡΠ²Π»ΡΠ»ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½Π°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Haskell Platform), ΡΠ°Π·Π½ΠΎ ΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ Π΄Π»Ρ ΠΏΠΎΠΌΠΎΡΠΈ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΠΎΠ±ΡΠΈΡΠ½Π΅ΠΉΡΠΈΠΉ Π½Π°Π±ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π° Π³Π»Π°Π²Π½ΠΎΠ΅ β ΡΠ»ΠΎΠΆΠΈΠ»ΠΎΡΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ²! ΠΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ ΡΠ·ΡΠΊ ΠΏΡΠΈΠΎΠ±ΡΡΠ» ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΡΡΡΠΊΠΎ ΡΠ·ΡΡΠ½ΡΡ . ΠΡΠΈΡΠΎΠΌ Π²ΠΎΠ·Π½ΠΈΠΊ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΡΡΡΠ΅ΠΊΡ Β«ΠΏΠ΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈΒ»: ΡΡΡΠ΅ΠΌΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΡΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°Π»ΠΎ Π΅ΡΡ Π°ΠΊΡΠΈΠ²Π½Π΅Π΅ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ ΡΠ·ΡΠΊ ΠΈ Π²ΡΡ, ΡΡΠΎ Ρ Π½ΠΈΠΌ ΡΠ²ΡΠ·Π°Π½ΠΎ. Π Π²ΠΎΡ ΡΠΆΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ Haskell Π½Π°ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π½Π΅ ΠΎΠ΄Π½Ρ ΡΡΡΡΡΡ, ΠΎΡ Π²Π°ΡΡΠ²Π°Ρ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, Π²ΡΡΡΠ΅ΡΠ°ΡΡΠΈΠ΅ΡΡ Π² ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΡ ΠΎΠ΄ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ [6] Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ Π²Π·ΡΡΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅. Π’Π΅ΠΏΠ΅ΡΡ Haskell ΡΠΆΠ΅ Π½Π΅ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ·ΡΠΊΠ° Β«Π½ΡΡΠ΄ΠΎΠ²Β», ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΡΠ°ΡΡΡ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ΅ΡΠΏΠ΅ΠΊΡΠ°Π±Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡ Π²ΡΡ ΠΎΠ΄ΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ ΡΡΠ°ΡΠ΅ΠΉ ΠΏΠΎ Haskell (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅), ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΆΡΡΠ½Π°Π», ΠΏΠΎΡΠ²ΡΡΡΠ½Π½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ β Β«ΠΡΠ°ΠΊΡΠΈΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ» (ISSN 2075-8456).
Π Π²ΠΎΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π²Ρ, ΡΠ²Π°ΠΆΠ°Π΅ΠΌΡΠΉ ΡΠΈΡΠ°ΡΠ΅Π»Ρ, Π΄Π΅ΡΠΆΠΈΡΠ΅ Π² ΡΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π½ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎ ΡΠ·ΡΠΊΠ΅ Haskell ΠΈ ΠΎΡΠ½ΠΎΠ²Π°Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π½ΡΠΌ. ΠΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΎΠΏΡΡΡ ΠΆΠ΅ ΡΡΠ°Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°. ΠΡΡΠΏΠΏΠ° ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Π½ΡΡ Π»ΡΠ±ΠΈΡΠ΅Π»Π΅ΠΉ ΡΠ·ΡΠΊΠ° Haskell ΠΏΠ΅ΡΠ΅Π²Π΅Π»Π° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°ΡΡΡ ΡΠ΅ΠΊΡΡΠ°, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎΠΌ Β«ΠΠΠ ΠΡΠ΅ΡΡΒ», ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΆΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ»Π°Π³ΠΌΠ°Π½ΠΎΠΌ Π² Π΄Π΅Π»Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ½ΠΈΠ³ ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π² Π ΠΎΡΡΠΈΠΈ, Π±ΡΠ» ΠΏΡΠΎΠ²Π΅Π΄ΡΠ½ Π²Π΅ΡΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΏΡΠ΅Π΄ΠΏΠ΅ΡΠ°ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡ β Π½Π°ΡΡΠ½ΠΎΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΡΡΠ΅ΠΊΡΡΡΠ°, Π²ΡΡΡΡΠΊΠ°.
ΠΠΈΡΠ°Π½ ΠΠΈΠΏΠΎΠ²Π°ΡΠ° β Π°Π²ΡΠΎΡ ΠΈΠ· Π‘Π»ΠΎΠ²Π΅Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΏΠΈΡΠ°Π» ΡΠ²ΠΎΡ ΠΊΠ½ΠΈΠ³Ρ Β«ΠΠ·ΡΡΠ°ΠΉ Haskell Π²ΠΎ ΠΈΠΌΡ Π΄ΠΎΠ±ΡΠ°Β», Ρ ΡΠ΅ΠΌ ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΡ Haskell Π»ΡΠ³ΠΊΠΈΠΌ ΠΈ Π²Π΅ΡΡΠ»ΡΠΌ. ΠΡΠΈΠ³ΠΈΠ½Π°Π» ΠΊΠ½ΠΈΠ³ΠΈ, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠΉ Π² ΡΠ΅ΡΠΈ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ, Π½Π°ΠΏΠΈΡΠ°Π½ Π² Π²Π΅ΡΡΠΌΠ° Π²ΠΎΠ»ΡΠ½ΠΎΠΌ ΡΡΠΈΠ»Π΅ β Π°Π²ΡΠΎΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π±Π΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΆΠ°ΡΠ³ΠΎΠ½ΠΈΠ·ΠΌΡ ΠΈ ΠΏΡΠΎΡΡΠΎΠ΅ (Π΄Π°ΠΆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΠΏΡΠΎΡΡΠ΅ΡΠΊΠΎΠ΅) ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΌ. Π’Π΅ΠΊΡΡ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ Π°Π²ΡΠΎΡΡΠΊΠΈΠΌΠΈ ΡΠΈΡΡΠ½ΠΊΠ°ΠΌΠΈ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΌΠΈ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΈ Π½Π΅ Π½Π΅ΡΡΡΠΈΠΌΠΈ ΠΎΡΠΎΠ±ΠΎΠΉ ΡΠΌΡΡΠ»ΠΎΠ²ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΠΎΠ½Π°ΡΠ°Π»Ρ Π²ΡΡ ΡΡΠΎ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ ΠΊΠ½ΠΈΠ³Π° Β«Π½Π΅ΡΠ΅ΡΡΡΠ·Π½Π°ΡΒ», ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΠΌΠ°Π½ΡΠΈΠ²ΠΎ. ΠΠ΄Π΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Haskell, ΡΠ°ΠΊ ΠΈ ΡΠ΅ΡΡΡΠ·Π½ΡΡ ΠΈΠ΄ΠΈΠΎΠΌ ΡΠ·ΡΠΊΠ°, ΠΏΡΠΈΡΠ΅Π΄ΡΠΈΡ ΠΈΠ· ΡΠ΅ΠΎΡΠΈΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ (ΡΡΠ½ΠΊΡΠΎΡΡ, Π°ΠΏΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΎΡΡ, ΠΌΠΎΠ½Π°Π΄Ρ). ΠΡΠΈΡΠΎΠΌ Π°Π²ΡΠΎΡ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΡ. ΠΠΎΠΎΠ±ΡΠ΅, ΠΊΠ½ΠΈΠ³Π° Π½Π°ΡΡΡΠ΅Π½Π° ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ, ΠΈ ΡΡΠΎ Π΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ΅ΡΡΠ°.
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π½Π°Π΄ ΡΡΡΡΠΊΠΈΠΌ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ² ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠΎΠ² ΠΏΠΎΡΡΠ°ΡΠ°Π»ΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ²ΠΎΠ΅ΠΎΠ±ΡΠ°Π·Π½ΡΠΉ ΡΡΠΈΠ»Ρ Π°Π²ΡΠΎΡΠ°, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ²ΠΎΠ΅ΠΎΠ±ΡΠ°Π·ΠΈΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π°. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π½Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π±ΡΠ»ΠΈ ΡΠ³Π»Π°ΠΆΠ΅Π½Ρ, ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π° Ρ ΡΠΆΠ΅ ΡΡΡΠΎΡΠ²ΡΠΈΠΌΠΈΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°ΠΌΠΈ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΌΠ°Π½Π΅ΡΠ° ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π΄Π°Π»Π΅ΠΊΠ° ΠΎΡ ΡΡΡ ΠΎΠ³ΠΎ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΈΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ΅Π½ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ.
ΠΠ°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ, Π²ΠΏΡΠΎΡΠ΅ΠΌ, ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ. ΠΠ²ΡΠΎΡ ΡΠ°ΠΌ ΠΏΡΠΈΠ·Π½Π°ΡΡΡΡ, ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π» ΡΠ²ΠΎΡ ΠΊΠ½ΠΈΠ³Ρ Ρ ΡΠ΅Π»ΡΡ ΡΡΡΡΠΊΡΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π·Π½Π°Π½ΠΈΠΉ ΠΎ ΡΠ·ΡΠΊΠ΅ Haskell. Π’Π°ΠΊ ΡΡΠΎ ΠΊ Π½Π΅ΠΉ Π½Π°Π΄ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ Π΄ΠΎΠ»Π΅ΠΉ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΠΈ, Ρ ΠΎΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π½Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ Π±ΡΠ»ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΎ ΡΠ°ΠΊΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΡ ΠΎΠ΄ΠΈΠ½ ΠΌΠΈΠ½ΡΡ β ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎΠ± ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠ·ΡΠΊΠ°: ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ Π»ΠΈΡΡ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Haskell Platform, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅. ΠΠΎΠΆΠ½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ ΠΈ ΠΏΠΎΡΡΡΠΏΠΈΡΡ, Π½ΠΎ Π²Π΄ΡΠΌΡΠΈΠ²ΠΎΠΌΡ ΡΠΈΡΠ°ΡΠ΅Π»Ρ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΎ ΡΠΏΠΎΡΠΎΠ±Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. ΠΡΠΎΡ ΠΏΡΠΎΠ±Π΅Π» ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠ½ΠΈΠ³ΠΎΠΉ [1].
Π ΡΠ΅Π»ΠΎΠΌ ΠΊΠ½ΠΈΠ³Ρ ΠΠΈΡΠ°Π½Π° ΠΠΈΠΏΠΎΠ²Π°ΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ·ΡΠΊΠ° Haskell. ΠΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½Π° Π²ΡΠ΅ΠΌ, ΠΊΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΡΠ°Π²Π½ΠΎ ΠΊΠ°ΠΊ ΠΈ ΡΡΡΠ΄Π΅Π½ΡΠ°ΠΌ, ΠΎΠ±ΡΡΠ°ΡΡΠΈΠΌΡΡ ΠΏΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΡΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΎΠΉ.
ΠΠ£Π¨ΠΠΠ Π ΠΎΠΌΠ°Π½ ΠΠΈΠΊΡΠΎΡΠΎΠ²ΠΈΡ, Π°Π²ΡΠΎΡ ΠΏΠ΅ΡΠ²ΡΡ ΠΊΠ½ΠΈΠ³ ΠΎ ΡΠ·ΡΠΊΠ΅ Haskell Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΠΠΎΡΠΊΠ²Π°, 2011 Π³. Π‘ΡΡΠ»ΠΊΠΈ Π½Π° ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ1. ΠΡΡΠΊΠΈΠ½ Π . Π. ΠΡΠ°ΠΊΡΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Haskell. β Π.: ΠΠΠ-ΠΡΠ΅ΡΡ, 2010. β 288 ΡΡΡ., ΠΈΠ». β ISBN 978-5-94074-588-4.
2. ΠΡΡΠΊΠΈΠ½ Π . Π. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Haskell. β Π.: ΠΠΠ-ΠΡΠ΅ΡΡ, 2007. β 608 ΡΡΡ., ΠΈΠ». β ISBN 5-94074-335-8.
3. Davie A. J. T. Introduction to Functional Programming Systems Using Haskell. β Cambridge University Press, 1992. β 304 p. β ISBN 0-52127-724-8.
4. Doets K., Eijck J. v. The Haskell Road To Logic, Maths And Programming. β Kingβs College Publications, 2004. β 444 p. β ISBN 0-95430-069-6.
5. Hudak P. The Haskell School of Expression: Learning Functional Programming through Multimedia. β Cambridge University Press, 2000. β 382 p. β ISBN 0-52164-408-9.
6. OβSullivan B., Goerzen J., Stewart D. Real World Haskell. β OβReilly, 2008. β 710 p. β ISBN 0-596-51498-0.
7. Thompson S. Haskell: The Craft of Functional Programming. β Addison Wesley, 1999. β 512 p. β ISBN 0-20134-275-8.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠ΅ΡΠ΅Π΄ Π²Π°ΠΌΠΈ ΠΊΠ½ΠΈΠ³Π° Β«ΠΠ·ΡΡΠ°ΠΉ Haskell Π²ΠΎ ΠΈΠΌΡ Π΄ΠΎΠ±ΡΠ°!Β» Π ΡΠ°Π· ΡΠΆ Π²Ρ Π²Π·ΡΠ»ΠΈΡΡ Π·Π° Π΅Ρ ΡΡΠ΅Π½ΠΈΠ΅, Π΅ΡΡΡ ΡΠ°Π½Ρ, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΡΡΠΈΡΡ ΡΠ·ΡΠΊ Haskell. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΏΡΡΠΈ β Π½ΠΎ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π΅Π³ΠΎ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠ°ΠΌΠΎΠΌ ΡΡΠ΅Π±Π½ΠΈΠΊΠ΅.
Π― ΡΠ΅ΡΠΈΠ»ΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π·Π°Ρ ΠΎΡΠ΅Π» ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΎ Haskell, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π½Π°Π΄Π΅ΡΡΡ ΠΏΠΎΠΌΠΎΡΡ Π΄ΡΡΠ³ΠΈΠΌ Π»ΡΠ΄ΡΠΌ Π² ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. Π ΡΠ΅ΡΠΈ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΅ΠΌΠ΅, ΠΈ ΠΊΠΎΠ³Π΄Π° Ρ ΡΠ°ΠΌ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΠ» ΠΏΠ΅ΡΠΈΠΎΠ΄ ΡΡΠ΅Π½ΠΈΡΠ΅ΡΡΠ²Π°, ΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΠ°ΠΌΡΠ΅ ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Haskell, Ρ ΡΠΈΡΠ°Π» ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΈ ΠΈ ΡΡΠ°ΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°Π»ΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². ΠΠ°ΡΠ΅ΠΌ Ρ ΡΠΎΠ±ΡΠ°Π» Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ Π²ΡΠ΅ ΡΡΠΈ ΡΠ°Π·ΡΠΎΠ·Π½Π΅Π½Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΠ» ΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. Π’Π°ΠΊ ΡΡΠΎ ΡΡΠΎΡ ΡΡΠ΅Π±Π½ΠΈΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΠΏΡΡΠΊΡ ΡΠΎΠ·Π΄Π°ΡΡ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΡΠ΅ΡΡΡΡ Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ° Haskell β ΠΈ Π΅ΡΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ, ΡΡΠΎ Π²Ρ Π½Π°ΠΉΠ΄ΡΡΠ΅ Π·Π΄Π΅ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ!
ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° ΡΠ°ΡΡΡΠΈΡΠ°Π½Π° Π½Π° Π»ΡΠ΄Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (C++, Java, Python...), Π° ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Haskell. ΠΠΏΡΠΎΡΠ΅ΠΌ, Π±ΡΡΡΡ ΠΎΠ± Π·Π°ΠΊΠ»Π°Π΄, ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅ΡΠ΅ ΡΠΎΠ»ΠΈΠ΄Π½ΡΠΌ ΠΎΠΏΡΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Ρ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΈΡΠΎΠ΄Π½ΠΎΠΉ ΡΠΌΠ΅ΠΊΠ°Π»ΠΊΠΎΠΉ Π²Ρ Π»Π΅Π³ΠΊΠΎ ΠΎΡΠ²ΠΎΠΈΡΠ΅ Haskell, ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΡΡΠΈΠΌ ΡΡΠ΅Π±Π½ΠΈΠΊΠΎΠΌ!
ΠΠΎΠ΅ΠΉ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ΅Π°ΠΊΡΠΈΠ΅ΠΉ Π½Π° Haskell Π±ΡΠ»ΠΎ ΠΎΡΡΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ ΡΠ·ΡΠΊ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠΆ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΡΠ΄Π½ΠΎΠΉ. ΠΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π±Π°ΡΡΠ΅ΡΠ° Π²ΡΡ ΠΏΠΎΡΠ»ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎ ΠΌΠ°ΡΠ»Ρ. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ Haskell ΠΊΠ°ΠΆΠ΅ΡΡΡ Π²Π°ΠΌ ΡΡΡΠ°Π½Π½ΡΠΌ, Π½Π΅ ΡΠ΄Π°Π²Π°ΠΉΡΠ΅ΡΡ! ΠΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Β«Ρ Π½ΡΠ»ΡΒ» β ΠΈ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΠ΅ ΠΌΡΡΠ»ΠΈΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΈΠ½Π°ΡΠ΅...