ZK
do (Just x) <- return Nothing
vs
do let (Just x) = Nothing
Второе упадёт с ошибкой
Size: a a a
ZK
do (Just x) <- return Nothing
do let (Just x) = Nothing
AP
VY
AP
return Nothing >>= \x -> ...
- вся соль в ">>=
"ZK
do { let x = 1; pure x }
AP
ZK
AP
ZK
AP
AP
AP
AP
do { let {x = 1; y = 2}; pure (x + y)}
ZK
AP
;
после x = 1
, это не завершение let
, это разделитель между определениямиZK
AP
case
и проч. Т.о. если уж пишешь в одну строку со скобками (особенно, если есть do
где-то), нужно их везде использовать, т.к. у парсера не будет подсказок в виде отступовPG
Заметил такую вещь: обычно, когда говорят, что типа сложно, нереально понять, "новички не осилят" и т.п., то на подсознательном уровне откладывается это. И в дальнейшем это мнение мешает разобраться в проблеме самостоятельно, а когда такие мнения накапливаются одно за другим, то и вовсе не хочется браться за проблему. Но иногда, конечно, это и придает мотивации, чтобы доказать себе, мол "я смогу". Не знаю, может у меня одного так.
AP
YS
incomplete-uni-patterns
fail