【发布时间】:2012-03-17 19:36:13
【问题描述】:
在“Programming Erlang”一书中,据说该语言使用“单一赋值”变量。在其他关于函数式编程语言的文章中,我总是读到“不可变值”。
“单一赋值”一词与“不可变值”有什么不同吗?
【问题讨论】:
-
好的,我了解技术上的“单一赋值”与“不可变值”不同。 IE。在 Java 中,我们可以有指向可变对象的最终变量和指向不可变对象的非最终(可重新分配)变量。但是......在我看来,能够同时使用这两者似乎是一种危险的组合。这基本上就是为什么我要问是否有重点关注 Erlang 中的单一赋值而不是不变性。据我所知,Erlang 数据结构是不可变的,绑定的“变量”总是只指向一个。这就像 Haskell,不是吗?
标签: haskell functional-programming erlang