https://bntr.livejournal.com/13102.html

функции едят констант - мультифильмы


fst (E1,E2) = E1



mul 2 3 = 6



учитывая
T ≡ (\x y -> x)
fst ≡ (\p -> p T)
(E1,E2) ≡ (\f -> f E1 E2)
mul ≡ (\m n f x -> m (n f) x)
5 ≡ (\f x -> f (f (f (f (f x)))))

fst (E1,E2)
= (\p -> p (\x y -> x)) (\f -> f E1 E2)
= (\f -> f E1 E2) (\x y -> x)
= (\x y -> x) E1 E2
= (\y -> E1) E2
= E1

mul 2 3
= (\m n f x -> m (n f) x) (\f x -> f (f x)) (\f x -> f (f (f x)))
...
= (\f x -> f (f (f (f (f (f x))))))
= 6





Аноним: the pictures werent moving until you clicked on them...gives a bit sence now (October 30 2005, 21:20:22 UTC) t51758
bntr: yes okey (October 31 2005, 06:20:30 UTC) t52014
lomeo: Ага, класс! я положил в мемориз. (May 25 2006, 09:13:49 UTC) t82734
bntr: была идея написать соответствующий интерактивный конструктор..
но препод по ФП воспринял совсем без интузиазму:
кажется его огорчило упоминание ДиректХ и С++ :)
(May 25 2006, 10:26:20 UTC) t83246
lomeo: Пишите на Хаскеле и с ОпенГЛ :-) (May 25 2006, 11:10:57 UTC) t83758
bntr: ого, и действительно http://www.haskell.org/HOpenGL/
и почему не показывали в новостях :)

на самом деле было заставляли писать этих http://www.haskell.org/yampa/
ох как было не императивно =) (May 25 2006, 12:01:48 UTC) t84014
lomeo: А стрелки хорошо знаете? Не подскажите, где можно почитать доступно? (May 25 2006, 12:17:44 UTC) t84270
bntr: помню лишь читал туториал оттуда же http://www.haskell.org/yampa/
и конечно лекции профессора Вене =)
http://www.cs.ut.ee/~varmo/FP2005/slides/loeng18.pdf (May 25 2006, 15:45:31 UTC) t84526
lomeo: Спасибо.
Лекции, наверное, замечательные, осталось выучить язык :-) (May 26 2006, 08:39:07 UTC) t84782
..