Cons 上具有破坏性的 Common Lisp 函数列表是什么?

问题描述 投票:0回答:1

我正在审查一些包含对conses的破坏性操作的代码,我希望找到对conses具有破坏性的所有Common Lisp函数的列表。我在 Common Lisp Hyper-Spec 本身中没有看到这样的列表,并且我无法通过网络搜索找到一个列表。

这可能是 CLHS 在“Conses Dictionary”标题下列出的函数的一些子集,但我想如果我自己浏览它,我可能会错过一些东西,而且可能还有其他函数可能会修改CLHS 其他地方的反对论点。

我最感兴趣的是允许具有破坏性但不是必需的功能。例如,这包括 NCONC 等内容,但不包括 RPLACA。我想如果 conses 上有第二个需要具有破坏性的函数列表,那也会很有趣且有用。

common-lisp
1个回答
0
投票

将其发布为社区维基:

  • 所有
    n
    一些功能:
    nreverse
    nsubstitute
    …“n”表示“非consing”,它不需要分配任何新的cons单元,它可能会重用原始序列。
  • sort
    stable-sort
    (之前使用
    copy-list
    copy-seq
  • delete[-*]
    功能(
    remove
    不具有破坏性)
  • pop
  • replace
  • vector-push
    可以具有破坏性
© www.soinside.com 2019 - 2024. All rights reserved.