К завтрашнему занятию задачку со звёздочкой сделал, а то некоторые больно умные последние 15 минут практики бьют баклуши, решив всё заданное.
Введём следующий трёхпараметрический типовый оператор, инкапсулирующий композицию однопараметрических конструкторов типов:
newtype Compose f g x = Compose {getCompose :: f (g x)}
Каков кайнд этого
(
Read more... )
Comments 14
Reply
newtype OO f j a b = OO { unOO :: f (a `j` b) }
Reply
Reply
Reply
Reply
а вы студиков "pointless" функции требуете сочинять?
Reply
Reply
pure = Compose . pure . pure -- красиво
fmap = (Compose .) . (. getCompose) . fmap . fmap -- ой...
(<*>) = (Compose .) . (. getCompose) . (<*>) . ((pure (<*>)) <*>) . getCompose -- выдыхай, бобёр!
Reply
Reply
Leave a comment