Size: a a a

2020 October 28

IK

Ilya Kos in Haskell
Velvet Darkness
type Trilean = Maybe Bool
и кучу инстансов кстати получаешь
источник

VD

Velvet Darkness in Haskell
Ilya Kos
в нормальных языках такое в язык уже встроено
Я за null в булах на ревью гоняю ссаными тряпками и пускаю черный дым из выхлопной трубы >_>
источник

IK

Ilya Kos in Haskell
Ilya Kos
и кучу инстансов кстати получаешь
и можно делать liftA2 (&&)
источник

AV

Alexander Vershilov in Haskell
Как написать:
f :: (Traversable t) => t a  -> ([a] -> IO (Map a c)]) -> IO (t (a,Maybe c))

?
источник

AV

Alexander Vershilov in Haskell
если (a -> IO c) всё понятно, это просто traverse
источник

AV

Alexander Vershilov in Haskell
Как сделать в 2 шага, сначала toList потом вызвать функцию, потом fmap тоже понятно
источник

к

кана in Haskell
а f a это что вообще такое
источник

к

кана in Haskell
ну скорее всего t a
источник

AV

Alexander Vershilov in Haskell
угу поправил
источник

AV

Alexander Vershilov in Haskell
f t g = do
 let x = toList t
 z <- g x
 pure $ t & \i -> (i, z ?! i)
источник

AV

Alexander Vershilov in Haskell
Вот так понятно, но не хочется
источник

AV

Alexander Vershilov in Haskell
/me передумал, хочется, но интересны способы красивее
источник

к

кана in Haskell
ну тут traversable в любом случае ни при каком решении не нужен
источник

AV

Alexander Vershilov in Haskell
при a -> IO c - нужен
источник

к

кана in Haskell
потому что раз сигнатура все равно [a] -> ..., то ты можешь только в список конвертнуть, а потом результат замапать в исходное значение
источник

AV

Alexander Vershilov in Haskell
Ну можешь завернуть a в [a], просто неэффективно будет
источник

MP

Misha Puzanov in Haskell
Alexander Vershilov
/me передумал, хочется, но интересны способы красивее
mconcat <$> for t $ \a -> блабла?
источник

MP

Misha Puzanov in Haskell
Хотя наверняка неэффективно, да
источник

к

кана in Haskell
Alexander Vershilov
Как написать:
f :: (Traversable t) => t a  -> ([a] -> IO (Map a c)]) -> IO (t (a,Maybe c))

?
так не
источник

к

кана in Haskell
невозможно вроде
источник