小编use*_*265的帖子

在let-bindings中的声明顺序,Haskell vs OCaml

在Haskell中,let/where构造中的声明顺序无关紧要,例如:

f x = let g1 x y = if x>y then show x else g2 y x
          g2 p q = g1 q p
      in ...
Run Code Online (Sandbox Code Playgroud)

在声明之前g2使用的地方g1.但这不是Ocaml的情况:

# let a = b in
  let b = 5 in
  a;;
Warning 26: unused variable b.
Error: Unbound value b
Run Code Online (Sandbox Code Playgroud)

有没有理由说OCaml不像Haskell那样?在没有前瞻性声明的情况下,此功能对我来说似乎很有用.

是因为OCaml的严格评估,还是Haskell的懒惰?

ocaml haskell

6
推荐指数
3
解决办法
889
查看次数

标签 统计

haskell ×1

ocaml ×1