我正在学习 Erlang,所以这是一个提高我对 Erlang 设计选择的理解的问题。
为什么 ETS 数据结构(字典/树)与 Erlang 内置类型(列表/元组等)的处理方式如此不同。也就是说,它们不是垃圾收集的并且它们是可变的,因此所有使用它们的函数都有副作用。必须跟踪 ETS 表以避免内存泄漏似乎特别烦人。
Erlang 没有表现得更像列表的字典数据类型(是不可变的和垃圾收集的)是否有原因?
是否假设 ETS 仅用于复制非常昂贵的大型数据库之类的结构,而对于其他任何事情,您使用 O(n) 元组列表作为键/值数据结构?