Я не понимаю разницы между тремя синтаксисами:
где a = f (b)
do a <- f (b)
действительно let a = f (b)
Я кое-что понимаю, хотя a <- f (b)
отличается от другие два, в большинстве случаев, когда я пробовал, все три работали. Также я читал где-то в сети, что для каждого блока вы должны пытаться обойтись только одной привязкой let, чтобы быть «идиоматическим». Но мне никогда не удается справиться.
Как мне решить, что использовать?