gpt4 book ai didi

functional-programming - Erlang 真的是一种函数式语言吗?

转载 作者:行者123 更新时间:2023-12-03 11:45:30 25 4
gpt4 key购买 nike

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

8年前关闭。




Improve this question




我一直听说 Erlang 是一种函数式语言,但它很容易从函数中调用数据库或无副作用的代码,并且命令可以通过在它们之间使用“,”逗号轻松排序,就像 Ruby 或其他语言一样,那么 Erlang 的“功能性”部分在哪里?

最佳答案

中心思想是每个进程都是一个基于消息输入流的函数式程序。功能程序的结果是向其他人输出消息流。从这个角度来看,Erlang 是一种相当干净的函数式语言;数据结构没有破坏性更新(如 Lisp 和大多数 Scheme 中的 setcar)。

除了少数异常(exception),所有内置函数(例如对 ETS 表的操作)也遵循此模型:除了效率问题之外,这些 BIF 实际上可以通过纯 Erlang 进程和消息传递来实现。

所以是的,Erlang 语言是函数式的,但是交互 Erlang 进程的集合是另一回事。每个进程都是一个持续的计算,因此它有一个当前状态,可以相对于其他进程改变。在这方面,甚至数据库也只是另一个过程。

在我看来,这是 Erlang 最重要的事情之一:在流程之外,可能会有 Storm 肆虐,但在内部,事情是平静的,让您专注于该流程应该做什么 - 并且仅此而已。

关于functional-programming - Erlang 真的是一种函数式语言吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2271417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com