Size: a a a

2020 May 05

AV

Alexander Vershilov in Haskell
Но проще парсер написать
источник

MK

Maxim Koltsov in Haskell
что-то я пропустил более важную новость
источник

MK

Maxim Koltsov in Haskell
кабал 3!
источник

MK

Maxim Koltsov in Haskell
и доки для бейза собраны с новым цсс
источник

KZ

Kirill Zaborsky in Haskell
последние дни настают
источник

AV

Alexander Vershilov in Haskell
@Ordinary_man запилил себе в итоге:

пока вроде взлетает всё
encoder = HE.params @(AccessToken, RefreshToken, UserId)
источник

AV

Alexander Vershilov in Haskell
Кажется такое количество бойлерплейта меня устраивает
источник

YS

Yan Shkurinskiy in Haskell
Alexander Vershilov
@Ordinary_man запилил себе в итоге:

пока вроде взлетает всё
encoder = HE.params @(AccessToken, RefreshToken, UserId)
Это как раз, когда ты спрашивал, чтобы типы проверяло, но писать нужно было явно?
источник

AV

Alexander Vershilov in Haskell
Угу
источник

YS

Yan Shkurinskiy in Haskell
Выглядит интересно... пытаюсь понять как это сделано хД
источник

AV

Alexander Vershilov in Haskell
• Couldn't match type ‘'False’ with ‘'True’
       arising from a use of ‘HE.params’
   • In the expression: HE.params @UserId
источник

YS

Yan Shkurinskiy in Haskell
Т.е., ты просто явно аннотируешь типом энкодер, и, если на всех составляющих твоего есть энкодеры - он выводится?
источник

AV

Alexander Vershilov in Haskell
Даже ошибку словило
источник

AV

Alexander Vershilov in Haskell
params :: forall t s . ((t==s) ~ 'True, AsParams s) => HE.Params s
params = buildParams @s
источник

AV

Alexander Vershilov in Haskell
AsParams s класс типов похожий на то, что у тебя
источник

AV

Alexander Vershilov in Haskell
instance {-# OVERLAPPABLE #-} AsValue x => AsParams x where buildParams = nonNullableParam id
instance AsValue x => AsParams (Maybe x) where buildParams = nullableParam id
instance (AsParams a, AsParams b) => AsParams (a,b) where
...
источник

AV

Alexander Vershilov in Haskell
AsValue - класс типов говорящий как значение в Value превращается
источник

AV

Alexander Vershilov in Haskell
generic специально не делал, кажетя опасным, но может потом передумаю
источник

AV

Alexander Vershilov in Haskell
Как бы 100% случаев не покроет, у меня там весьма хитрые штуки бывают, но может как-то с линзами разберусь.
источник

AV

Alexander Vershilov in Haskell
Но там где тупли позволит всё сделать
источник