haskell - "pure"中的 "pure functional language"是什么意思?

标签 haskell functional-programming

Haskell 被称为“纯函数式语言”。

在这种情况下“纯粹”是什么意思?这会给程序员带来什么后果?

最佳答案

函数式语言中,您不能做任何有副作用的事情。

副作用意味着计算表达式会改变某些内部状态,这会导致计算相同的表达式得到不同的结果。在纯函数式语言中,您可以使用相同的参数多次计算相同的表达式,并且它总是返回相同的值,因为没有要更改的状态。

例如,纯函数式语言不能有赋值运算符或进行输入/输出,尽管出于实际目的,即使是纯函数式语言也经常调用不纯的库来进行 I/O。

关于haskell - "pure"中的 "pure functional language"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4382223/

相关文章:

algorithm - 纯函数图连通性

haskell - 我可以用 `foldr` `foldMap` 来写 'recursion schemes' (或 `cata` )吗?

haskell - 如何正确定义像 "any"这样的函数

list - 在没有 Maybe 的情况下在 Elm 中转置

functional-programming - 在 Lua 中调用作为参数传递的函数

f# - F#中时间戳的并行排序-功能性方式?

arrays - 具有 O(1) 查找和 O(1) 切片的 F# 数组

haskell - 索引单子(monad)的高阶编码如何工作?

haskell - 如何在不使用复制或重复函数的情况下将元素放入列表中 n 次?

math - Haskell 中的守卫方程