什么是纯函数式语言?什么是纯函数式数据结构?我有点了解什么是函数式语言,但我不知道“纯”是什么意思。有人知道吗?能给我解释一下吗?谢谢!
什么是纯函数式语言?什么是纯函数式数据结构?我有点了解什么是函数式语言,但我不知道“纯”是什么意思。有人知道吗?能给我解释一下吗?谢谢!
let add2 x = x + 2
该程序中对 add2 2
的任何调用均可替换为值 4
,而不改变任何行为。
现在考虑一下我们加入了一个 print
:
let add2 x =
print x
x + 2
add2 2
会产生副作用,在屏幕上打印2
。
IO
一样是特殊类型? - user6445533IO
一样,F# 使用Async
处理异步效果,而 Purescript 则使用Eff
/Aff
处理同步/异步效果。 - TheInnerLightx
没有改变。在这种情况下,x
绝对可以只是一个简单的不可变值,我们不会改变它,只需返回一个新值等于x+2
。但我不认为这是一个纯函数数据结构,当我们谈论纯函数数据结构时,通常指的是由许多不可变值组成的集合。 - TheInnerLight