【发布时间】:2010-11-02 20:22:20
【问题描述】:
我经常听到有人声称 Haskell 没有变量。特别是,this answer 声称它没有,并且它被投票至少九次并被接受。
那么它有没有变量,为什么?
这个问题似乎也适用于 ML、F#、OCaml、Erlang、Oz、Lava 和所有 SSA 中间语言。
【问题讨论】:
-
这个问题并不真正适用于 SSA。 SSA 没有可变变量的原因与 Haskell 不同。 Haskell 没有可变变量来尊重引用透明性。 SSA 没有可变变量来帮助分析。
-
@xilpex 您的评论 begs the question 假设 SSA 和 Haskell 都有“变量”。请注意,我的问题不是关于为什么语言具有不可变变量_,而是关于这些是否可以被视为变量。
标签: variables haskell immutability monads referential-transparency