Size: a a a

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

2018 September 19

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
имею множество функций ... -> a -> MyUi a
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
и чейню их через bind
источник

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
ну да, меня просто смущает Effect :D в той статье насколько я помню предлагалось использовать MonadThrow. Ладно, я все равно ничего не помню. Просто перечитаю статью, пока у меня так же все
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
если надо выполнить эффект, вызываю liftEffect $ ...
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
Vasiliy Yorkin
ну да, меня просто смущает Effect :D в той статье насколько я помню предлагалось использовать MonadThrow. Ладно, я все равно ничего не помню. Просто перечитаю статью, пока у меня так же все
не, может статья и правильная, тут нужны гуру Хаскеля, может Effect и IO это разные вещи + я не использую кода который может бросить исключение, отличное от MyError
источник

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
ок, я щас попробую перечитать и переделать без Effect (или как там надо) если пойму, скорее всего чуть позже или завтра приду поспрашивать еще
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
если скажут что так точно плохо, переписать с ExceptT на MonadThrow вроде бы недолго (как я понял MonadEffect обеспечивает тот же liftEffect)
источник

ЗП

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

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
да, т.е. не читая еще я так понял, что хорошей практикой считается MonadThrow + MonadEffect вместо Effect
источник

ЗП

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

ЗП

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

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
да, я асинхронные эффекты запускаю внутри, поэтому наружу просто Effect торчит
источник
2018 September 20

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
как бы реверснуть findOf чтобы он находил именно первый, а не последний удовлетворяющий предикату...?
-- | Find the first focus of a `Fold` that satisfies a predicate, if there is any.
findOf :: forall s t a b. Fold (Endo (->) (Maybe a)) s t a b -> (a -> Boolean) -> s -> Maybe a
findOf p f = foldrOf p (\a -> maybe (if f a then Just a else Nothing) Just) Nothing
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
Vasiliy Yorkin
как бы реверснуть findOf чтобы он находил именно первый, а не последний удовлетворяющий предикату...?
-- | Find the first focus of a `Fold` that satisfies a predicate, if there is any.
findOf :: forall s t a b. Fold (Endo (->) (Maybe a)) s t a b -> (a -> Boolean) -> s -> Maybe a
findOf p f = foldrOf p (\a -> maybe (if f a then Just a else Nothing) Just) Nothing
а он последний находит?
источник

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
да %)
источник

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
наверное, потому что foldr
источник

ЗП

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

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
ну да, по семантике это больше подходит, наверное
источник

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
есть еще не умный вопрос, сходу не соображу
источник

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
например, один элемент я могу найти так
    findOf traversed even [1, 4, 3, 8, 11, 17] `shouldEqual` (Just 8)
источник