Size: a a a

2021 April 24

X

XÆA-XII in Haskell
Непонятно
источник

AP

Aleksei (astynax) Pi... in Haskell
Потому что единообразие
источник

AP

Aleksei (astynax) Pi... in Haskell
На верхнем уровне можно паттернматчить. Это — паттерн.
источник

AP

Aleksei (astynax) Pi... in Haskell
Коль скоро 15, это полиморфная константа, то ничего не сломается. Ну сопоставился какой-то там 15 с чем-то
источник

AP

Aleksei (astynax) Pi... in Haskell
Впрочем, полиморфизм тут ни причём
источник

AP

Aleksei (astynax) Pi... in Haskell
True = False тоже можно написать
источник

JS

Jerzy Syrowiecki in Haskell
а когда это может быть нужно?
источник

AP

Aleksei (astynax) Pi... in Haskell
Никогда :)
источник

JS

Jerzy Syrowiecki in Haskell
полностью определённый унипаттерн
источник

AP

Aleksei (astynax) Pi... in Haskell
Это полезно для конструкторов с полями, когда связывание происходит

data Foo = Foo 42

Foo x = Foo 42
источник

JS

Jerzy Syrowiecki in Haskell
вот True <- pure False имеет смысл, потому что там ветвление на fail
источник

AP

Aleksei (astynax) Pi... in Haskell
Думаю, что проще было разрешить любые паттерны, пусть часть и окажется не особо полезной, чем ловить частные случаи
источник

JS

Jerzy Syrowiecki in Haskell
> 15 = 1 + 13 :: Integer

<interactive>:8:1: warning: [-Wunused-pattern-binds]
   This pattern-binding binds no variables: 15 = 1 + 13 :: Integer


включайте -Wall всегда
источник

JS

Jerzy Syrowiecki in Haskell
и -Werror тоже почти всегда нужен
источник

AP

Aleksei (astynax) Pi... in Haskell
15 = foo 45
можно было бы как assеrt использовать, если бы оно могло не матчиться
источник

AP

Aleksei (astynax) Pi... in Haskell
В Erlang была бы ошибка паттернматчинга, там :ok = blabla — обычное дело, когда нужно либо поматчить, либо упасть
источник

AP

Aleksei (astynax) Pi... in Haskell
Это же только в GHCi можно сделать, не на верхнем уровне модуля?
источник

JS

Jerzy Syrowiecki in Haskell
это в MonadFail можно, не только в ghci. но на верхнем уровне нельзя, да
источник

JS

Jerzy Syrowiecki in Haskell
LANGUAGE Strict?
источник

AP

Aleksei (astynax) Pi... in Haskell
Это слишком "из пушки по воробьям" :)
источник