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