Разница между привязками where, привязками let и одиночным оператором присваивания (<-)

Я не понимаю разницы между тремя синтаксисами:

  • где a = f (b)
  • do a <- f (b)
  • действительно let a = f (b)

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

Как мне решить, что использовать?

14
задан nbro 13 April 2017 в 12:19
поделиться