Size: a a a

2020 December 28

Y

Yuuri in Haskell
Kirill Valyavin
Чё делать, если хочется
foldl1 adjoin [ix "fieldA", ix "fieldB"], но типы не дают?
foldMap ix ["fieldA", "fieldB"], если типы геттеров одинаковые
источник

Y

Yuuri in Haskell
@kana_sama тут писал недавно
источник

KV

Kirill Valyavin in Haskell
Ага, инстанс моноида значит
источник

KV

Kirill Valyavin in Haskell
fold [ix "fieldA", ix "fieldB"]
Вот так-то да, но мне кажется, что это работает только для фолдов
источник

к

кана in Haskell
-- |
-- Examples:
-- >>> Map.fromList [("a", 1), ("b", 2), ("c", 3)] ^.. ixes (Set.fromList ["a", "b", "d"])
-- [1, 2]
ixes :: (Monoid r, Ixed s, Foldable t) => t (Index s) -> Getting r s (IxValue s)
ixes = foldMap ix
источник

к

кана in Haskell
только геттинг, сеттер не работает
источник

KV

Kirill Valyavin in Haskell
Ну блин
источник

KV

Kirill Valyavin in Haskell
adjoin можно заставить работать с ATraversal, но вот как потом вернуть обратно — хз
источник
2020 December 29

KV

Kirill Valyavin in Haskell
let adjoinAll = 
 cloneTraversal
 . foldl1 (\t1 t2 -> adjoin (cloneTraversal t1) (cloneTraversal t2)) in
"{\"a\":1,\"b\":2}" & partsOf (_Value . (adjoinAll [ix "a", ix "b"]) . _Number) .~ [2,3]

Короче надо было вот так
источник

AP

Aleksei (astynax) Pi... in Haskell
Неужели никто сервантом POST-формы не парсит?
источник

MK

Maxim Koltsov in Haskell
я!
источник

AP

Aleksei (astynax) Pi... in Haskell
Ни одного пакета не нашёл...
источник

AP

Aleksei (astynax) Pi... in Haskell
Сырой боди парсить?
источник

MK

Maxim Koltsov in Haskell
servant-multipart
источник

MK

Maxim Koltsov in Haskell
там можно свой инстанс написать для парсинга
источник

MK

Maxim Koltsov in Haskell
ну или MultipartData ковырять через lookupInput/lookupFile
источник

AP

Aleksei (astynax) Pi... in Haskell
Хмм. [Input] это всё равно как-то сыровато :) Но уже хоть что-то
источник

MK

Maxim Koltsov in Haskell
instance FromMultipart Mem UploadCheckForm where
 fromMultipart form =
   let
     val = UploadCheckForm
           <$> liftError (const ["file"]) (fdToFileInfo <$> lookupFile "file" form)
           <*> ....
   in
     case val of
       Success ucf    -> Right ucf
       -- Ugly as hell :/
       Failure fields -> Left $ unwords fields
источник

MK

Maxim Koltsov in Haskell
у меня вот такое
источник

AP

Aleksei (astynax) Pi... in Haskell
lookupInput мне подойдёт, спасибо
источник