【发布时间】:2019-03-13 18:12:18
【问题描述】:
每个 Erlang 进程都维护自己的私有地址空间。所有通信都是通过复制而不共享(大二进制文件除外)进行的。如果每个进程一次处理一条消息而没有对其对象的并发访问,我不明白为什么我们需要不可变/persistent data structures。
【问题讨论】:
-
当您谈论“持久数据结构”时,您能举一些例子来说明您想到的 Erlang 数据结构吗?
-
对于 scala/akka,persistent 仅在 actor 崩溃并需要重新启动时才需要,actor 在恢复时需要 persistent 设置其数据,也许 erlang 类似?顺便说一句,您可能需要删除 akka 标签?
-
@lagom 我不是在谈论将其持久化到数据库中。它与 fp 语言中的不可变数据结构有关。
-
@aronisstav 例如单链表。如果您只向头部添加元素,它是一个持久的数据结构。
-
@t0il3ts0ap 您是否也会使用“不可变”来描述与“持久”相同的想法?
标签: functional-programming erlang immutability