Мы привыкли, что правая свертка (foldr) хорошо заточена для работы с бесконечными списками:
> let mapPlusPi = foldr (\x xs -> (x+pi):xs) []
> head $ mapPlusPi [1..]
4.141592653589793
К сожалению, иногда возникают неприятности. Вот функция, которая берет список и выкидывает из него элементы стоящие на нечетных местах:
> let evenOnly = snd . foldr
(
Read more... )
Reply
большая непривычность (но не сложность!) рассуждения за costs semantics.
Что довольно сильно, не буду спорить.
Reply
" = "
Reply
Reply
Reply
И какой же это язык надо знать, тов. недубина?
Reply
Reply
Leave a comment