Size: a a a

2021 April 24

AP

Aleksei (astynax) Pi... in Haskell
Ну и я шутки ради посетовал
источник

JS

Jerzy Syrowiecki in Haskell
нет, включение LANGUAGE Strict в GHCi не выполняет проверку константы. скорее всего, LANGUAGE Strict относится к переменным, а не к уравнениям
источник

JS

Jerzy Syrowiecki in Haskell
любую шутку можно использовать как гипотезу для эксперимента
источник

AP

Aleksei (astynax) Pi... in Haskell
это правда
источник

AP

Aleksei (astynax) Pi... in Haskell
Но asserts подобные всяко лучше в контексте упомянутого MonadFail делать:
test = do
 15 <- pure (1 + 13)
 ...
источник

к

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

можно же писать

f 0 = 1
f x = 1

и

(0, x) = (0, 1)

поэтому можно писать и

0 = 1
x = 1
источник

JS

Jerzy Syrowiecki in Haskell
да, регулярно пишу True <- $quickCheckAll
источник

JS

Jerzy Syrowiecki in Haskell
кстати, можно как-то покороче записать?

main = do
 True <- $quickCheckAll
 pure ()


пробовал из main возвращать False, но с точки зрения ОС, это всё равно exit 0
источник

AP

Aleksei (astynax) Pi... in Haskell
Ты хочешь, чтобы падало?
источник

JS

Jerzy Syrowiecki in Haskell
хочу, чтобы код завершения процесса был отличен от 0
источник

AP

Aleksei (astynax) Pi... in Haskell
Да, я об этом. Чтобы провал тестов было видно
источник

JS

Jerzy Syrowiecki in Haskell
в неигрушечных проектах Tasty.defaultMain это делает, а в игрушечных бойлерплэйта немножко
источник

к

кана in Haskell
main = do
 guard =<< pure False

?
источник

к

кана in Haskell
так что будет?
источник

к

кана in Haskell
вроде как раз то что нужно
источник

AP

Aleksei (astynax) Pi... in Haskell
fail в IO не даёт ненулевой код возврата, насколько я понял
источник

JS

Jerzy Syrowiecki in Haskell
во, отлично!
источник

JS

Jerzy Syrowiecki in Haskell
fail @IO бросает исключение и всё хорошо с кодом
источник

к

кана in Haskell
да, работает как надо, будет exitcode = 1
источник

к

кана in Haskell
наверное потому что mzero определен как-то через ошибку
источник