Size: a a a

2020 May 06

к

кана in Haskell
или не приводить, тогда юзер ничего не узнает, и будет думать что там будет _ -> pure ()
источник

к

кана in Haskell
а там не будет, и будет рантайм ошибка
источник

YS

Yan Shkurinskiy in Haskell
Ну он же не сможет forall a привести к ()?
источник

к

кана in Haskell
forall a. m a как раз можно легко привести к m ()
источник

YS

Yan Shkurinskiy in Haskell
не ну, если у кейса будет тип forall a. m a, мы же не сможем сделать там ветку m ()?
источник

к

кана in Haskell
не сможем
источник

к

кана in Haskell
ну вот пример

do
 case x of
   True -> empty
 someAction
источник

к

кана in Haskell
тут хаскелист может ожидать, что empty вполне приводим к m (), и поэтому компилятор может добавить _ -> pure ()
источник

YS

Yan Shkurinskiy in Haskell
Я может не понимаю чего - а как из ожиданий хаскелиста следует работы компилятора? х(
источник

к

кана in Haskell
потому что зачем нам контринтуитивный компилятор?
источник

к

кана in Haskell
я все это к тому, что с такой фичей шанс ошибки увеличивается
источник

YS

Yan Shkurinskiy in Haskell
я готов к контринтуитивному компилятору, потому что не верю своей интуиции)
источник

YS

Yan Shkurinskiy in Haskell
она плохая, а теория под компилятором всяко лучше!
источник

к

кана in Haskell
кана
я все это к тому, что с такой фичей шанс ошибки увеличивается
раньше программист знал что если опустит ветку, то это может привести к ошибке, а сейчас он будет думать что упустил ветку и будет pure (), а тут не будет
источник

DI

Dmitry Ivanov in Haskell
для любителей интуитивного есть  wolfram language
источник

DI

Dmitry Ivanov in Haskell
принимает что угодно и как-то интерпретирует
источник

YS

Yan Shkurinskiy in Haskell
Мне кажется, для любителей интуитивности надо менеджером быть)
источник

YS

Yan Shkurinskiy in Haskell
Говоришь программисту на своём родном что надо - он как-то делает
источник

YS

Yan Shkurinskiy in Haskell
Ух ты, Александр Гранин и Алексей Пирогов будут на хекслете вещать!
источник

YS

Yan Shkurinskiy in Haskell
Надо глянуть
источник