Size: a a a

2020 May 11

AV

Alexander Vershilov in Haskell
что-то такое?

filtered :: (Choice p, Applicative f) => (a -> Bool) -> Optic' p f a a
filtered p = dimap (\x -> if p x then Right x else Left x) (either pure id) . right'


fi
lteredP p = dimap (\x -> case x ^? p of Just x -> Right x else Left x) (either pure id) . right'

или какой matching?
источник

AA

A64m AL256m qn<co... in Haskell
Alexander Vershilov
Теперь вопрос, а как с линзами сделать аналог catMaybes
> [Just 1, Nothing, Just 3] ^.. each . _Just
[1,3]
источник

ЗП

Зигохистоморфный Пре... in Haskell
filteredBy _Just
источник

AV

Alexander Vershilov in Haskell
о!
источник

ЗП

Зигохистоморфный Пре... in Haskell
вроде тоже
источник

AV

Alexander Vershilov in Haskell
Но оно только фильтрует
источник

AV

Alexander Vershilov in Haskell
но норм each .to(f) . _Just ?
источник

ЗП

Зигохистоморфный Пре... in Haskell
A64m AL256m qn I0
> [Just 1, Nothing, Just 3] ^.. each . _Just
[1,3]
можно же и ^.. folded . _Just
источник

D

Dreamerinnoise in Haskell
в первом варианте меньше печатать
источник

AV

Alexander Vershilov in Haskell
блин мне не то нужно было 🙁
источник

AV

Alexander Vershilov in Haskell
Мне это в foldl сделать надо
источник

AV

Alexander Vershilov in Haskell
а там premap и prefilter
источник

AV

Alexander Vershilov in Haskell
ну напишу свой комбинатор
источник

AA

A64m AL256m qn<co... in Haskell
тут про вектора вроде речь была, фолдед для анбоксед вектора не сработает
источник

R:

Ryner :: () -> IO... in Haskell
Инстансы CookieSettings для Swagger чтобы servant-auth использовать еще не написали?
источник

R:

Ryner :: () -> IO... in Haskell
источник

AA

A64m AL256m qn<co... in Haskell
Alexander Vershilov
Мне это в foldl сделать надо
просто foldOver вместо ^..
источник

AV

Alexander Vershilov in Haskell
(Foldl.foldOver (each._3)
         . ((,) <$> preMapMaybe (fmap fromIntegral) Foldl.mean
                <*> Foldl.maximum))
источник

AV

Alexander Vershilov in Haskell
сейчас так
источник

FU

F U in Haskell
Подскажите, пожалуйста, насколько сложна реализация такой программы на хаскеле?
1. Поиск пути в лабиринте
Лабиринт представлен в виде текстового файла. Позиция символа (0,0) – вход в лабиринт, любой символ – стена. Проверить, есть ли выход из лабиринта и указать его координаты, если есть.
источник