AK
... -> a -> MyUi aSize: a a a
AK
... -> a -> MyUi aAK
bindVY
Effect :D в той статье насколько я помню предлагалось использовать MonadThrow. Ладно, я все равно ничего не помню. Просто перечитаю статью, пока у меня так же всеAK
liftEffect $ ...AK
Effect :D в той статье насколько я помню предлагалось использовать MonadThrow. Ладно, я все равно ничего не помню. Просто перечитаю статью, пока у меня так же всеEffect и IO это разные вещи + я не использую кода который может бросить исключение, отличное от MyErrorVY
Effect (или как там надо) если пойму, скорее всего чуть позже или завтра приду поспрашивать ещеAK
ExceptT на MonadThrow вроде бы недолго (как я понял MonadEffect обеспечивает тот же liftEffect)VY
MonadThrow + MonadEffect вместо EffectЗП
ЗП
VY
VY
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
ЗП
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
foldrЗП
First и Last юзать вместо MaybeVY
VY
VY
findOf traversed even [1, 4, 3, 8, 11, 17] `shouldEqual` (Just 8)