gpt4 book ai didi

language-agnostic - 引用功能数据结构时使用哪个术语 : persistent or immutable?

转载 作者:行者123 更新时间:2023-12-05 00:07:00 24 4
gpt4 key购买 nike

在函数式编程的上下文中,哪个是正确使用的术语:持久性还是不可变?当我谷歌“不可变数据结构”时,我得到一个 Wikipedia link一篇关于“持久性数据结构”的文章甚至接着说:

such data structures are effectively immutable



这让我更加困惑。函数式程序依赖持久数据结构还是不可变数据结构?还是它们总是一样的?

最佳答案

函数式数据结构的正确术语是 不可变 .术语“持久性”至少以三种方式使用:

  • 持久化数据结构是指您拥有旧数据结构,创建新数据结构,但保留指向旧数据结构的指针的情况。通常,旧的和新的共享很多状态——它们可能仅在堆对象的恒定数量或堆数据结构的线性数量上有所不同。这种持久性是具有不可变数据结构以及 的结果。算法 保留指向旧版本数据结构的指针,允许它们持久化。
  • 持久变量是其值在同一程序的多次调用中保持不变的变量。这可以通过语言功能或库来完成。
  • 持久性编程语言是一种提供持久性变量的语言。 chalice 是正交持久性 :程序员可以决定一个变量是否是持久的,独立于该变量的所有其他属性。目前,这种编程语言的研究还很遥远,但保留术语区别很有用。

  • 我今天不想编辑维基百科:-(

    关于language-agnostic - 引用功能数据结构时使用哪个术语 : persistent or immutable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2509830/

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