Date: 2009-02-03 07:41 pm (UTC)
Насчёт того, что foldr это не совсем катаморфизм, т.к. принимает два аргумента - не согласен. Катаморфизм применяет стрелку, а не функцию, а как мы её расписываем - дело наше. Я не видел такую запись катаморфизма, как у Джонса, но не один раз встречал

φ . in

где φ (стрелка) представляется в виде тапла функций. Подразумевается, что (f,g) (x,y) = (f x, g y). Впрочем, из одного можно получить другое, но, что важнее, foldr удобнее cata. Именно потому что скрывает case.

Но насчёт either, maybe, unfoldr и т.д. я соглашусь - лямбды выглядят не очень. Но если у нас pointfree, при чём разумный, без ужасных (.).(.), то эти комбинаторы спасают. Именно потому, что поднимают уровень абстракции, и частично понятность кода.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

lomeo: (Default)
Dmitry Antonyuk

April 2024

S M T W T F S
 123456
7891011 1213
14151617181920
21222324252627
282930    

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 6th, 2025 04:46 am
Powered by Dreamwidth Studios