Функциональное программирование — различия между версиями
Alex z (обсуждение | вклад) (Новая страница: «=Фотки= ==Кр2== * [https://pp.vk.me/c625522/v625522095/bb5e/DJapJCj1SGE.jpg] * [https://pp.vk.me/c625522/v625522095/bb68/OwKD9uzHoA8.jpg] * [https://pp.vk....») |
Alex z (обсуждение | вклад) м |
||
Строка 1: | Строка 1: | ||
− | = | + | =Кр1= |
− | ==Кр2== | + | 1) Убрать все сокращения и расставить все скобки: |
+ | |||
+ | (λ a b . (λ c d e . e) a) (x y) y (λ f . x) y | ||
+ | |||
+ | 2) Привести в нормальную форму | ||
+ | |||
+ | λ a b . a (λ c . b c) a (λ d . d) a | ||
+ | |||
+ | 3) Привести в нормальную форму | ||
+ | |||
+ | λ a . (λ b . y) (λ c . y (y (λ d . a a a)) (x x) a) | ||
+ | |||
+ | 4) Сделать две редукции нормальным порядком: | ||
+ | |||
+ | (λ a . y (y (y (λ b . a))) y) (x (x (x (λ c d . d) y)) x) | ||
+ | |||
+ | 5) Выписать систему уравнений типизации | ||
+ | |||
+ | (λ a . a a) (λ b c . c) | ||
+ | |||
+ | 6) Выписать кайнды конструкторов типов, выписать типы конструкторов, закодировать по Чёрчу: | ||
+ | |||
+ | data Policeman a = Doctor a | Mice | ||
+ | data Tree a b c = Frog c | Pip (Tree a b c) | ||
+ | |||
+ | =Кр2= | ||
+ | ==Фотки== | ||
* [https://pp.vk.me/c625522/v625522095/bb5e/DJapJCj1SGE.jpg] | * [https://pp.vk.me/c625522/v625522095/bb5e/DJapJCj1SGE.jpg] | ||
* [https://pp.vk.me/c625522/v625522095/bb68/OwKD9uzHoA8.jpg] | * [https://pp.vk.me/c625522/v625522095/bb68/OwKD9uzHoA8.jpg] | ||
Строка 14: | Строка 40: | ||
* [https://pp.vk.me/c625826/v625826822/916a/2US214bNwv0.jpg] | * [https://pp.vk.me/c625826/v625826822/916a/2US214bNwv0.jpg] | ||
* [https://pp.vk.me/c625826/v625826822/9174/QRhQIqwNX5Q.jpg] | * [https://pp.vk.me/c625826/v625826822/9174/QRhQIqwNX5Q.jpg] | ||
− | + | =Кр3= | |
− | + | =Кр4= |
Версия 22:18, 25 апреля 2015
Кр1
1) Убрать все сокращения и расставить все скобки:
(λ a b . (λ c d e . e) a) (x y) y (λ f . x) y
2) Привести в нормальную форму
λ a b . a (λ c . b c) a (λ d . d) a
3) Привести в нормальную форму
λ a . (λ b . y) (λ c . y (y (λ d . a a a)) (x x) a)
4) Сделать две редукции нормальным порядком:
(λ a . y (y (y (λ b . a))) y) (x (x (x (λ c d . d) y)) x)
5) Выписать систему уравнений типизации
(λ a . a a) (λ b c . c)
6) Выписать кайнды конструкторов типов, выписать типы конструкторов, закодировать по Чёрчу:
data Policeman a = Doctor a | Mice data Tree a b c = Frog c | Pip (Tree a b c)