我想将 elt、nth 和 mapcar 等名称与我正在原型设计的新数据结构一起使用,但这些名称指定普通函数,因此我认为需要将其重新定义为通用函数。
重新定义这些名称可能是一种不好的形式?
有没有办法告诉 defgeneric 不要生成程序错误并继续替换函数绑定?
这些不是通用函数还是只是历史函数,有充分的理由吗?
请问这里考虑的智慧和最佳实践是什么?
如果您使用 SBCL 或 ABCL,并且不关心 ANSI 合规性,您可以研究可扩展序列:
http://www.sbcl.org/manual/#Extensible-Sequences http://www.sbcl.org/manual/#Extensible-Sequences
http://www.doc.gold.ac.uk/~mas01cr/papers/ilc2007/sequences-20070301.pdf http://www.doc.gold.ac.uk/~mas01cr/papers/ilc2007/sequences-20070301.pdf
...您无法在 COMMON-LISP 包中重新定义函数,但您可以创建一个新包并隐藏要重新定义的函数的导入。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)