Size: a a a

2021 May 09

[

[BRM]White Rabbit in Haskell
я вот этого понять не могу
источник

к

кана in Haskell
Cheat r' b это что?
источник

к

кана in Haskell
это функция из инстансов в ридер
источник

к

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

к

кана in Haskell
Переслано от кана
ну давай еще раз

f :: (Int -> String) -> (Bool -> String)
f x b = ...
источник

к

кана in Haskell
вот тут Int это твои [Has a, Has b] :< r'

Int это не аргумент функции f, в контексте функции f нет никаких интов, это аргумент первого аргумента
источник

[

[BRM]White Rabbit in Haskell
всё, я понял
источник

[

[BRM]White Rabbit in Haskell
нам нужно "доказать", что у принимаемого значения у r есть нужные инстансы
источник

к

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

[

[BRM]White Rabbit in Haskell
для возвращаемого это не надо - если их не будет, нам просто не даст возвратить
источник

к

кана in Haskell
всегда можно заменить => на -> просто, и тогда такие вещи становятся понятнее

можно даже сделать это тайпчекаемым таким образом

было
f :: Show a => a -> String
f x = show x
main = print (f 1)

стало
data Dict c = c => Dict
f :: Dict (Show a) -> a -> String
f Dict x = show x
main = print (f Dict 1)
источник

[

[BRM]White Rabbit in Haskell
Всё, у меня сошлось
источник

к

кана in Haskell
тут мы положили инстанс внутрь Dict, а потом достали из него инстанс, никаких жирных стрелок в сигнатурах
источник

[

[BRM]White Rabbit in Haskell
безысходность выглядит так, да?
источник

YS

Yan Shkurinskiy in Haskell
Лучше в CS погоняй
источник

JJ

Joshua Jakowlew in Haskell
Подскажите, чем можно удобно валидировать ввод?
источник

IK

Ilya Kos in Haskell
Есть validationt
источник

IK

Ilya Kos in Haskell
источник

к

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

к

кана in Haskell
lts-17.10 например, там directory-1.3.6.0, и time сразу нужный
источник