我发现 Haskell 令人着迷的一件事是函数和变量是如何相同的。在大多数语言中,变量保存一个值,而函数执行某些操作,然后最终返回一个值。在 Haskell 中,您看不到这种差异,并且在使用 Haskell 之后,回到更“传统”的编程方式,其中变量与函数或方法不同,感觉很尴尬。如果我想得到一个值,我真的不应该担心它的来源,无论是常量值、可变变量还是复杂计算的结果!在 Haskell 中,变量只是 0 元函数。
许多面向对象的语言都有一些让人感觉有点差距的属性。
任何人都可以使用类似于 Haskell 的系统指示任何其他语言吗?由于引用透明性,我认为函数式语言很常见,但我发现情况并非如此。例如,在 Lisp 中,您必须(defun)
显式声明函数。