Size: a a a

2020 July 26

AA

A64m AL256m qn<co... in Haskell
Yuriy Pitomets
значит одного меня коробит писать конкретику в языке с адхок-полиморфизмом)
так если есть нужный инстанс моноеда то ^.  + to Соответствующий.singleton сработает как надо
источник

YP

Yuriy Pitomets in Haskell
о, спасибо, про to сейчас гляну как-раз.
источник

к

кана in Haskell
выше там у меня пример с ^..
источник

YP

Yuriy Pitomets in Haskell
кана
выше там у меня пример с ^..
заметил, но не натолкнуло на мысль сразу, спасибо.
источник

KV

Kirill Valyavin in Haskell
источник

к

кана in Haskell
недостаточно обобщенно, для NonEmpty инстанс не написать
источник

YP

Yuriy Pitomets in Haskell
+
источник

к

кана in Haskell
собственно то же самое будет и с линзами, можно разве что засунуть в Maybe (NonEmpty a)
источник

к

кана in Haskell
источник

YP

Yuriy Pitomets in Haskell
make sense
источник

A

Andrey in Haskell
Maxim Koltsov
можно написать комбинатор)
источник

к

кана in Haskell
чего бы не сделать матчинг по фрагменту тоже
источник

A

Andrey in Haskell
в смысле? поясни..
источник

к

кана in Haskell
то есть просто сделать так чтобы фрагмент просто # добавлял в роут и все, а дальше можно комбинаторами парсить фрагмент
источник

A

Andrey in Haskell
как ты это видишь? покажи пример апишки, как бы она выглядела
источник

A

Andrey in Haskell
я пока не очень представляю
источник

A

Andrey in Haskell
я натолкнулся на трудности в том, что несмотря на то, что data URI содержит в себе uriFragment, в сервере и/или клиенте они опираются на http-types, в котором нет фрагмента. поэтому я его добавлял руками, чтобы было "безопаснее", "правильнее" и т.п...
источник

A

Andrey in Haskell
а с path и queryparam и парсингом возникает дополнительная сложность в том, что их надо трекать (чего-то одного может и не быть)
источник

A

Andrey in Haskell
query может быть пустым, или query может быть прибинжен к пустому (корневому) пути
источник

к

кана in Haskell
data Fragment

/a#<b>
type X = "a" :> Fragment :> Capture "b" Text

/a#b/<c>
type X = "a" :> Fragment :> "b" :> Capture "c" Text
источник