Size: a a a

2021 January 30

к

кана in Haskell
в целом довольно удобный апи, и сумма и произведение связаны общими инстансами
источник

MK

Maxim Koltsov in Haskell
Ну так себе удобный конечно
источник

YS

Yan Shkurinskiy in Haskell
Надо бы sop поковырять
источник

ЗП

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

ЗП

Зигохистоморфный Пре... in Haskell
кана
в целом довольно удобный апи, и сумма и произведение связаны общими инстансами
generic-sop?
источник

к

кана in Haskell
да ну однозначно удобный, даже простой, если концепцию понять, а для этого просто нужно либу поковырять, а не с наскоку
источник

к

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

к

кана in Haskell
ну не сам generics-sop, там там есть ядро, в котором все эти операции, без самого generic
источник

ЗП

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

к

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

к

кана in Haskell
https://hackage.haskell.org/package/sop-core-0.5.0.1/docs/Data-SOP-Classes.html

вот тут апи общее описано в основном
источник

к

кана in Haskell
Danil Berestov
У меня есть набор парсеров, надо было собрать парсеры разных типов в этот список, а вернуть парсер списка этих типов
ну это одна фунция из сопа как раз

https://hackage.haskell.org/package/sop-core-0.5.0.1/docs/Data-SOP-Classes.html#v:hsequence

hsequence :: NP f xs -> f (NP I xs)

NP это произведения, f - функтор, xs - список типов
источник

DB

Danil Berestov in Haskell
и все типчики даже выведутся сами?)
источник

к

кана in Haskell
ну в твоем простом кейсе да, какие там типы
источник

DB

Danil Berestov in Haskell
ну Parser A, Parser B
источник

DB

Danil Berestov in Haskell
Блин, попробовать что ли
источник

DB

Danil Berestov in Haskell
Выглядит, как магия
источник

к

кана in Haskell
в основном главный профит sop имхо не в конкретном апи конкретных типов, а в том что он общий и для сумм, и для произведений

data A = A
data B = B

a :: NP Parser [A, B]
a = pure A :* pure B :* Nil

c :: NS Parser [A, B]
c = S (Z (pure B))

b :: Parser (NP I [A, B])
b = hsequence a

d :: Parser (NS I [A, B])
d = hsequence c
источник

A

Andrey in Haskell
в моём случае не помогло
источник

A

Andrey in Haskell
Andrey
в моём случае не помогло
- https://github.com/snoyberg/http-client/issues/374 (иша со стороны клиента)
- https://github.com/haskell/network/issues/438 (иша со стороны сервера и network)
источник