Size: a a a

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

2019 January 29

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
instance consArray :: Cons (Array a) (Array b) a b where
 _Cons = L.prism (uncurry (:)) $ \arr -> case A.uncons arr of
   Nothing -> Left []
   Just r -> Right (Tuple r.head r.tail)
источник

VK

Vladimir Klntsky in PureScript — русскоговорящее сообщество
Зигохистоморфный Препроморфизм
instance consArray :: Cons (Array a) (Array b) a b where
 _Cons = L.prism (uncurry (:)) $ \arr -> case A.uncons arr of
   Nothing -> Left []
   Just r -> Right (Tuple r.head r.tail)
Можно.

Кстати, а вот это имеет смысл или unlawful?:

class Cons s a | s -> a where
 _Cons :: LE.Setter a (s -> s) a s

instance consList :: Cons (L.List a) a where
 _Cons f a l = f a <> l
источник

VK

Vladimir Klntsky in PureScript — русскоговорящее сообщество
prism :: forall s t a b. (b -> t) -> (s -> Either t a) -> Prism s t a b
prism to fro pab = dimap fro (either identity identity) (right (rmap to pab))


Очень умно.
источник

ЗП

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

Кстати, а вот это имеет смысл или unlawful?:

class Cons s a | s -> a where
 _Cons :: LE.Setter a (s -> s) a s

instance consList :: Cons (L.List a) a where
 _Cons f a l = f a <> l
ну и что это? это только сеттер, призма на то она и призма
источник

VK

Vladimir Klntsky in PureScript — русскоговорящее сообщество
Зигохистоморфный Препроморфизм
ну и что это? это только сеттер, призма на то она и призма
Да, я уже понял, что она в две стороны должна работать.
источник

ЗП

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

ЗП

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

VK

Vladimir Klntsky in PureScript — русскоговорящее сообщество
Единственное что, насколько я понимаю, этот uncons будет уходить бесконечную рекурсию, если список пуст?
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
Vladimir Klntsky
Единственное что, насколько я понимаю, этот uncons будет уходить бесконечную рекурсию, если список пуст?
нет
источник

ЗП

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

VK

Vladimir Klntsky in PureScript — русскоговорящее сообщество
А, да, sorry.
источник

VK

Vladimir Klntsky in PureScript — русскоговорящее сообщество
Спасибо за этот код.
источник

ЗП

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

VK

Vladimir Klntsky in PureScript — русскоговорящее сообщество
Да, конечно.
А как вас лучше указать?
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
Vladimir Klntsky
Да, конечно.
А как вас лучше указать?
у меня же гитхаб есть)
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
Vladimir Klntsky
Да, конечно.
А как вас лучше указать?
знаешь мой гитхаб?)
источник

VK

Vladimir Klntsky in PureScript — русскоговорящее сообщество
Нашёл xgrommx.
источник

ЗП

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

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
короче вот список что мне надо запаблишить
purescript-split (поговорил с автором оригинала на хаскель и он дал добро,  хочу обобщить и сделать тайпкласс Splittable)
purescript-align
purescript-chronicle (на основе него хочу сделать профункторный валидатор)
purescript-partial-semigroup
purescript-diff
источник

ЗП

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