Date: 2007-12-12 11:34 am (UTC)
Когда какое-то нетривиальное преобразование дает id, то это потом можно приспособить для нужд народного хозяйства.

В бананах в космосе функция
copy :: Functor f => Rec f -> Rec f
copy (In x) = In (fmap copy x)

тождественный id, на основании чего легким движением руки из неё получается катаморфизм. Меняем применение конструктора In :: f (Rec f) -> Rec f не на себя, а на произвольную phi :: f a -> a и получаем
cata :: Functor f => (f a -> a) -> Rec f -> a
cata phi (In x) = phi (fmap (cata phi) x)


Здесь id задана на Rec f, что позволяет покрыть все рекурсивные типы, для которых можно написать instance Functor.

Я и стал думать, что можно из s и s' вытащить...

This account has disabled anonymous posting.
If you don't have an account you can create one now.
No Subject Icon Selected
More info about formatting

Profile

deniok: (Default)
deniok

February 2022

S M T W T F S
  12345
6789101112
13141516171819
20212223 242526
2728     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 27th, 2025 04:13 pm
Powered by Dreamwidth Studios