skiminok: (Default)
[personal profile] skiminok
Подзаголовок: fold! reduce! aggregate! accumulate!

sum = fold + 0
product = fold * 1
and = fold && true
or = fold || false
length = fold inc 0
reverse = fold (\x xs => xs ++ [x]) []
map = fold (\x xs => (f x):xs) []
filter = fold (\x xs => (p x)? (x:xs) : xs) []
skip = car fold (\x (ys, xs) => ((p x)? ys : (x:xs), x:xs) ([], [])


*Техники функционального программирования — красивейшая штука, оказывается... Чувствую, пройдет каких-нибудь полгода, и я буду мучить тут вас всех разными монадами и макросами. Пока что, кому интересно, может наблюдать за этим процессом: как медленно перерождается мозг императивного программиста =) Кому неинтересно — глубочайшее мое вам сорри.*

If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

skiminok: (Default)
skiminok

Most Popular Tags

July 2011

S M T W T F S
     12
3456789
10111213141516
17181920212223
242526272829 30
31