haskell – 当没有使用时,let的范围是多少?

在Haskell教程中,我运行了以下代码:

do [...]
  let atom = [first] ++ rest
  return $case atom of

请注意,let表达式没有块.这样的表达的范围是什么?下一行?

简单地说,它的范围是“从写入的地方到结束”.

请注意,在do语句中,let的处理方式不同.

根据http://www.haskell.org/haskellwiki/Monads_as_computation#Do_notation,解释如下:

do { let <decls> ; <stmts> }
  = let <decls> in do { <stmts> }
翻译自:https://stackoverflow.com/questions/9777399/what-is-the-scope-of-let-when-used-without-in

转载注明原文:haskell – 当没有使用时,let的范围是多少?