ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅, ΠΎΡ‡Π΅Π½ΡŒ быстро...
Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ вмСстС Π΄ΠΎ ΠΏΠΎΠ±Π΅Π΄Ρ‹

Лямбда-исчислСниС. 
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ языки программирования появились Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ срСдства для написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΠΈΡ… Π² ΡΠ²Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ понятий ячССк памяти для хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…) ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ вычислСний ΠΊΠ°ΠΊ процСсса измСнСния состояния памяти. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ основа для создания Ρ‚Π°ΠΊΠΈΡ… языков Π±Ρ‹Π»Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅Ρ‰Π΅ Π² ΡΠ΅Ρ€Π΅Π΄ΠΈΠ½Π΅ 1930;Ρ… Π³Π³. Алонзо Π§Π΅Ρ€Ρ‡Π΅ΠΌ (Alonzo Church) ΠΈ Π‘Ρ‚Π΅Ρ„Π°Π½ΠΎΠΌ Клини (Stephen… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Лямбда-исчислСниС. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ изучСния ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° Π³Π»Π°Π²Ρ‹ 9 студСнт Π΄ΠΎΠ»ΠΆΠ΅Π½: Π·Π½Π°Ρ‚ΡŒ

  • β€’ основныС понятия лямбда-исчислСния;
  • β€’ мСсто ΠΈ Ρ€ΠΎΠ»ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π΄ΡƒΠΊΡ†ΠΈΠΉ Π² Π»ΡΠΌΠ±Π΄Π°-исчислСнии;
  • β€’ Ρ€ΠΎΠ»ΡŒ Y-ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€Π° Π² ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ рСкурсии;
  • β€’ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ прСдставлСния констант ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² Ρ‡ΠΈΡΡ‚ΠΎΠΌ лямбда-исчислСнии; ΡƒΠΌΠ΅Ρ‚ΡŒ
  • β€’ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ выраТСния ΠΊ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΡΠ»Π°Π±ΠΎΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Ρ€Π΅Π΄ΡƒΠΊΡ†ΠΈΠΉ лямбда-исчислСния;
  • β€’ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒ понятия чистого ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ лямбда-исчислСния; Π²Π»Π°Π΄Π΅Ρ‚ΡŒ
  • β€’ Π½Π°Π²Ρ‹ΠΊΠ°ΠΌΠΈ прСобразования лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ;
  • β€’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ примСнСния пСрСимСнования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΊ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Π»ΡΠΌΠ±Π΄Π°-исчислСнии

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ языки программирования появились Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ срСдства для написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΠΈΡ… Π² ΡΠ²Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ понятий ячССк памяти для хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…) ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ вычислСний ΠΊΠ°ΠΊ процСсса измСнСния состояния памяти. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ основа для создания Ρ‚Π°ΠΊΠΈΡ… языков Π±Ρ‹Π»Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅Ρ‰Π΅ Π² ΡΠ΅Ρ€Π΅Π΄ΠΈΠ½Π΅ 1930;Ρ… Π³Π³. Алонзо Π§Π΅Ρ€Ρ‡Π΅ΠΌ (Alonzo Church) ΠΈ Π‘Ρ‚Π΅Ρ„Π°Π½ΠΎΠΌ Клини (Stephen Kleene). ΠœΡ‹ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Ρ‚Π΅ΠΎΡ€ΠΈΡŽ Π§Π΅Ρ€Ρ‡Π°, Π½Π°Π·Π²Π°Π½Π½ΡƒΡŽ ΠΈΠΌ Π»ΡΠΌΠ±Π΄Π°-исчислСниСм, Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ тСорСтичСской основы ΠΈ «ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ» Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ языка программирования. Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счСтС Π»ΡŽΠ±ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Haskell ΠΈΠ»ΠΈ любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ языкС программирования, ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСслоТными прСобразованиями свСсти ΠΊ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ лямбда-исчислСния.

РазумССтся, Π½ΠΈ Π§Π΅Ρ€Ρ‡, Π½ΠΈ ΠšΠ»ΠΈΠ½ΠΈ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈ язык программирования. Π’Π΅ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π»ΠΈΡΡŒ, — формализация понятия вычислимой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ матСматичСского Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π° для опрСдСлСния ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹ΠΌΠΈ функциями. Π’ Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΡ эта ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°Π»Π°ΡΡŒ Π² Ρ‚Ρ€ΡƒΠ΄Π°Ρ… ΡƒΠΆΠ΅ упомянутых Π§Π΅Ρ€Ρ‡Π° ΠΈ ΠšΠ»ΠΈΠ½ΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Алана Π’ΡŒΡŽΡ€ΠΈΠ½Π³Π° (Alan Turing), Эмиля ΠŸΠΎΡΡ‚Π° (Emil Post) ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ…. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π°Ρ… прСдлагался ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ понятия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ основы бСрСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ «ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ» Π½Π°Π±ΠΎΡ€ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ся способы построСния ΠΈΠ· Π½ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ слоТных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠ² (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ порядка). Π’Π°ΠΊΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠšΡƒΡ€Ρ‚ΠΎΠΌ Π€Ρ€ΠΈΠ΄Ρ€ΠΈΡ…ΠΎΠΌ Π“Ρ‘Π΄Π΅Π»Π΅ΠΌ (Kurt Friedrich Godel) ΠΏΡ€ΠΈ создании ΠΈΠΌ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ рСкурсивных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Напротив, Π² ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌ ΠΈΠΌ Π»ΡΠΌΠ±Π΄Π°-исчислСнии Π§Π΅Ρ€Ρ‡ сумСл ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ систСму, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π΅Ρ‚ вовсС, Π° Π²ΠΌΠ΅ΡΡ‚ΠΎ способов построСния слоТных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ· ΠΏΡ€ΠΎΡΡ‚Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, эквивалСнтныС ΠΈΠΌ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π§Π΅Ρ€Ρ‡Ρƒ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ исчислСниС чистых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ всС матСматичСскиС понятия, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ числа, Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ° ΠΈ Π΄Ρ€., сводятся ΠΊ ΠΏΠΎΠ½ΡΡ‚ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ прСобразования Ρ„ΠΎΡ€ΠΌΡƒΠ» Π² Π»ΡΠΌΠ±Π΄Π°-исчислСнии Π§Π΅Ρ€Ρ‡Π° (Ρ€Π΅Π΄ΡƒΠΊΡ†ΠΈΠΈ) Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ процСсс вычислСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, происходящий ΠΏΡ€ΠΈ исполнСнии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ИмСнно поэтому лямбда-исчислСниС ΠΈ Π»Π΅Π³Π»ΠΎ Π² ΠΎΡΠ½ΠΎΠ²Ρƒ опрСдСлСния языка Lisp Π² Π½Π°Ρ‡Π°Π»Π΅ 1960;Ρ… Π³Π³., Π° Π·Π°Ρ‚Π΅ΠΌ оказалось Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков программирования.

Рассмотрим Ρ‚Π΅ΠΎΡ€ΠΈΡŽ Π§Π΅Ρ€Ρ‡Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ понятиСм Π² Π»ΡΠΌΠ±Π΄Π°-исчислСнии являСтся понятиС выраТСния ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ рСкурсивно. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, зафиксируСм Π½Π°Π±ΠΎΡ€ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΈΠΌΠ΅Π½ латинскиС Π±ΡƒΠΊΠ²Ρ‹ x, y, f ΠΈ Π΄Ρ€. Π’ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… лямбда-выраТСниями, ΠΎΠ΄Π½Π°ΠΊΠΎ сама ΠΏΠΎ ΡΠ΅Π±Π΅ пСрСмСнная являСтся ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΌ Π²ΠΈΠ΄ΠΎΠΌ выраТСния. Π”Π²Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΈΠ΄Π° Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ — это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ бСзымянной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅) ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄ (Π₯Ρ….Π΅), Π³Π΄Π΅ Ρ… — имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° Π΅ — Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. БСмантичСски Ρ‚Π°ΠΊΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ Ρ… ΠΈ Ρ‚Π΅Π»ΠΎΠΌ Π΅. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ записываСтся Π² Π²ΠΈΠ΄Π΅ (el Π΅2), Π³Π΄Π΅ el ΠΈ Π΅2 — выраТСния (el — функция, Π° Π΅2 — Π΅Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚). ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²:

  • β€’ Π₯Ρ…. Ρ… — ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ°Ρ функция, Π²Ρ‹Π΄Π°ΡŽΡ‰Π°Ρ свой Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚; скобки ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ нСоднозначности;
  • β€’ Xf. Π₯Ρ…. f Ρ… — функция с Π΄Π²ΡƒΠΌΡ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‰Π°Ρ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ. Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ говоря, Π½Π°Π΄ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Ρ€Π°ΡΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скобки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ приняло Π²ΠΈΠ΄ Xf. (Π₯Ρ…. (f Ρ…)), ΠΎΠ΄Π½Π°ΠΊΠΎ принято соглашСниС, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ «ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ» примСнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρƒ ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ высокий ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, Ρ‡Π΅ΠΌ «ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ» образования лямбда-выраТСния. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈ этом ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, Ρ‚. Π΅. Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ f Ρ… Ρƒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ся ΠΊΠ°ΠΊ (f Ρ…) Ρƒ — ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ / ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρƒ Ρ… ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρƒ Ρƒ. ΠžΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΆΠ΅ бСзымянной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (опСрация «Π»ΡΠΌΠ±Π΄Π°») Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ примСняСтся справа Π½Π°Π»Π΅Π²ΠΎ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π₯Ρ…. Π₯Ρƒ. Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ся ΠΊΠ°ΠΊ Π₯Ρ…. (Π₯Ρƒ. Π΅);
  • β€’ (Π₯Ρ….Ρ… Ρ…) (Π₯Ρ….Ρ… Ρ…) — ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π·Π°Π΄Π°Π½Π½ΠΎΠΉ лямбдавыраТСниСм (Π₯Ρ….Ρ… Ρ…), ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρƒ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌΡƒ собой Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π»Π°, Π·Π°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°: примСняСтся ΠΊ ΡΠ΅Π±Π΅.

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ ΠΊΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ лямбда-исчислСниС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΡ€ΠΎΠΌΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ функциям большС Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅Ρ‚, Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΅Π³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅. Π’ Π½Π°ΡˆΠ΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΌ лямбда-исчислСнии ΠΏΠΎΠΌΠΈΠΌΠΎ бСзымянных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… лямбда-выраТСниями, Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ константы, смысл ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π΄Π°Π½ Π²Π½Π΅ лямбда-исчислСния. Π­Ρ‚ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Π΅ Π½Π°ΠΌ ΠΏΠΎ ΡΠ·Ρ‹ΠΊΠ°ΠΌ программирования константы, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Ρ†Π΅Π»Ρ‹Π΅ числа, символы ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ значСния, константа, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ пустой список NIL (этим ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π½Π΅Π΅ Π² ΡΠ·Ρ‹ΠΊΠ΅ Haskell всСгда обозначался Π½Π°ΠΌΠΈ ΠΏΠ°Ρ€ΠΎΠΉ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок [ ]), Π° Ρ‚Π°ΠΊΠΆΠ΅ константы, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ нашСй систСмы слСдуСт Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ особо.

МногиС ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡƒΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π½Π°ΠΌ Π·Π½Π°ΠΊΠΎΠΌΡ‹ ΠΏΠΎ ΡΠ·Ρ‹ΠΊΡƒ Haskell ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ языкам программирования. Π­Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ слоТСния, умноТСния ΠΈ Π΄Ρ€., ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ «Π±ΠΎΠ»ΡŒΡˆΠ΅», «ΠΌΠ΅Π½ΡŒΡˆΠ΅», «Ρ€Π°Π²Π½Ρ‹» ΠΈ Π΄Ρ€., ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ логичСскими значСниями «Π˜», «Π˜Π›Π˜» ΠΈ Π΄Ρ€. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠΈ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ объяснСния. ЕдинствСнноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ³ΠΎ использования этих ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΎΡ‚ ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках программирования Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²ΡΠ΅Π³Π΄Π° Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π΅Ρ„ΠΈΠΊΡΠ½ΡƒΡŽ запись ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚. Π΅. вмСсто ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ 3 + 5 Π±ΡƒΠ΄Π΅ΠΌ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ +3 5. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π½Π°ΡˆΠ΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΌ лямбдаисчислСнии Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠ°Ρ€Ρ€ΠΈΠ½Π³ΠΎΠ²Ρ‹ΠΌΠΈ, Ρ‚. Π΅. Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ + 3 Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚авляСт собой ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ + ΠΊ ΠΊΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π΅ 3, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ получаСтся функция увСличСния Ρ†Π΅Π»ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π° 3.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ссли Π² ΠΊΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΎΠΌ лямбда-исчислСнии ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ любой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρƒ всСгда осмыслСнно, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ любой «ΠΎΠ±ΡŠΠ΅ΠΊΡ‚» — ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, Ρ‚Π°ΠΊ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ — всСгда прСдставляСт собой лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ — Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‚ΠΎ Π² Π½Π°ΡˆΠ΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΌ лямбда-исчислСнии ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ «ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ» Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ. Π’Π°ΠΊ, бСссмыслСнным Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ + TRUE 0, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ слоТСниС логичСского значСния TRUE с Ρ‡ΠΈΡΠ»ΠΎΠΌ 0. Π’Π°ΠΊΠΆΠ΅ бСссмыслСнным Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ /3 0, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ дСлСния числа 3 Π½Π° Ρ‡ΠΈΡΠ»ΠΎ 0 Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½. ΠœΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ бСссмыслСнныС выраТСния.

НСкоторыС Π²Π°ΠΆΠ½Ρ‹Π΅ синтаксичСскиС конструкции Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков программирования Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ прСдставлСны Π² Π½Π°ΡˆΠ΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΌ лямбда-исчислСнии Π² Π²ΠΈΠ΄Π΅ стандартных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. НапримСр, условныС выраТСния if Π’ then El else Π•2 ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ стандартной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ IF с Ρ‚рСмя Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Π’, Π•1 ΠΈ Π•2. ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ примСнСния стандартных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ кортСТирования TUPLE-n, Π³Π΄Π΅ ΠΏ — ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ΅ число. Вакая функция Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, содСрТащий эти Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹. ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ функция извлСчСния элСмСнта ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ Π½ΠΎΠΌΠ΅Ρ€Ρƒ Π±ΡƒΠ΄Π΅Ρ‚ прСдставлСна стандартной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ INDEX, Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Π½ΠΎΠΌΠ΅Ρ€ элСмСнта ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΈ ΡΠ°ΠΌ этот ΠΊΠΎΡ€Ρ‚Π΅ΠΆ. НапримСр, Ссли ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈΠ· Ρ‡ΠΈΡΠ΅Π» 2, 4 ΠΈ 10, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· ΠΏΠ΅Π³ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт, Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ число 4. Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ конструкция Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ лямбда-исчислСния Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

INDEX 1 (TUPLE-3 2 4 10).

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π½ΡƒΠΌΠ΅Ρ€ΡƒΡŽΡ‚ΡΡ с Π½ΡƒΠ»Ρ, Π³Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ 1.

Π’ Π»ΡΠΌΠ±Π΄Π°-исчислСнии ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° систСма Ρ€Π΅Π΄ΡƒΠΊΡ†ΠΈΠΉ, Ρ‚. Π΅. Π½Π°Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ» прСобразования Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π‘ ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΡ‚ ΠΎΠ΄Π½ΠΈΡ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ, эквивалСнтным ΠΈΠΌ. Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ этому процСссу слуТит процСсс вычислСния выраТСния, поэтому ΠΌΡ‹ ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ± ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΎΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Π»ΡΠΌΠ±Π΄Π°-исчислСнии ΠΊΠ°ΠΊ ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„Π΅ ΠΌΡ‹ Π²Π²Π΅Π΄Π΅ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ для Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ позволят Π½Π°ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ лямбда-исчислСниС ΠΊΠ°ΠΊ своСобразный язык программирования, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ (Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ) Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (эквивалСнтноС Π΅ΠΌΡƒ «ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π΅» Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅).

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ