Size: a a a

PureScript — русскоговорящее сообщество

2018 December 27

KV

Kirill Valyavin in PureScript — русскоговорящее сообщество
Но моё решение и для разных траверсалов годится
источник

KV

Kirill Valyavin in PureScript — русскоговорящее сообщество
Или я не понял
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
в Day есть dap
источник

KV

Kirill Valyavin in PureScript — русскоговорящее сообщество
Понял
источник

KV

Kirill Valyavin in PureScript — русскоговорящее сообщество
liftA2 (/\) `on` toList
источник

KV

Kirill Valyavin in PureScript — русскоговорящее сообщество
Аааа блин разметка
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
меня toList смущает
источник

KV

Kirill Valyavin in PureScript — русскоговорящее сообщество
И ещё on должно смущать, потому что оно слепляет что не надо как обычно
источник

KV

Kirill Valyavin in PureScript — русскоговорящее сообщество
А toList почему?
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
зачем он?
источник

KV

Kirill Valyavin in PureScript — русскоговорящее сообщество
Ну я же говорю про решение, не требующее Day
источник

KV

Kirill Valyavin in PureScript — русскоговорящее сообщество
Вместо списков можно подставить ваш любимый аппликативный контейнер, который уместен про смыслу
источник

KV

Kirill Valyavin in PureScript — русскоговорящее сообщество
Просто toList уже готовое написано (в хаскелле по крайней мере)
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
zipCata :: forall ta fa tb fb c. Recursive ta fa => Recursive tb fb => ((ta -> tb -> c) -> fa ta -> fb tb -> c) -> ta -> tb -> c
zipCata phi x y = phi (zipCata phi) (project x) (project y)


или через Day

lowerDay :: forall t g f a. Recursive t g => Algebra (Day f g) a -> Algebra f (t -> a)
lowerDay phi fta t = phi (day fta (project t) (uncurry ($)))

zipCata :: forall f g t a u. Recursive t f => Recursive u g => Algebra (Day f g) a -> t -> u -> a
zipCata = cata <<< lowerDay
источник

KV

Kirill Valyavin in PureScript — русскоговорящее сообщество
Вот ещё бы знать, что это все такое
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
хехе
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
параллельно можно 2 структуры вертеть
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
eqList' :: forall a. Eq a => List a -> List a -> Boolean
eqList' = zipCata alg
 where
   alg :: (List a -> List a -> Boolean) -> ListF a (List a) -> ListF a (List a) -> Boolean
   alg _ NilF NilF = true
   alg f (ConsF x xs) (ConsF y ys) = (x == y) && (f xs ys)
   alg _ _ _ = false
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
но не обязательно одинаковые
источник

KV

Kirill Valyavin in PureScript — русскоговорящее сообщество
Recursive из recursion schemes?
источник