gpt4 book ai didi

common-lisp - 用泛型函数替换普通函数

转载 作者:行者123 更新时间:2023-12-04 02:36:27 26 4
gpt4 key购买 nike

我想将 elt、nth 和 mapcar 之类的名称与我正在原型(prototype)设计的新数据结构一起使用,但这些名称指定了普通函数,因此我认为需要将其重新定义为通用函数。

重新定义这些名称大概是不好的形式?

有没有办法告诉 defgeneric 不要产生程序错误并继续替换函数绑定(bind)?

这些不是通用功能还是只是历史性的,有充分的理由吗?

请问这里被认为的智慧和最佳实践是什么?

最佳答案

如果您使用的是 SBCL 或 ABCL,并且不关心 ANSI 合规性,则可以调查可扩展序列:

http://www.sbcl.org/manual/#Extensible-Sequences

http://www.doc.gold.ac.uk/~mas01cr/papers/ilc2007/sequences-20070301.pdf

...您不能在 COMMON-LISP 包中重新定义函数,但您可以创建一个新包并隐藏要重新定义的函数的导入。

关于common-lisp - 用泛型函数替换普通函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38080261/

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