Haskell中是否存在不可复制类型?探讨其复制机制特性
关于C++与Haskell中复制特性差异的疑问
简而言之,我试图理解为何复制在C++中是如此基础的特性(程序员拥有大量权限通过代码允许或禁止复制),但在Haskell中却让我难以捉摸。这也是添加language-design和language-agnostic标签的原因——我希望从超越单一语言的视角理解该主题。
在某种程度上,我感觉是否复制似乎是编译器和/或运行时的实现细节,作为程序员我无法控制,但不确定这种看法是否正确。
我认为回答该问题需要考虑以下相关方面:
- boxed vs unboxed types(我并非该领域专家,也从未使用过unboxed types,但我的理解是,若有一个原始数组
x,你想要修改其中一个元素同时仍能访问原数组,则必须复制整个数组) - 纯函数式数据结构
- 缺乏指向原始内存的指针?
如果ghc-vis没有失效,我可能会用它做实验,但我一直无法编译它。
若想了解我的思考所处的更广泛背景,可以查看我在Stack Overflow上的相关问题。
内容的提问来源于stack exchange,提问作者Enlico
相关产品推荐
相关产品推荐

