这个 Lisp 函数的传统名称是什么?

What is the traditional name of this Lisp function?

我在别处看到过这个函数,我记得它有一个标准名称。虽然我不记得了,仔细阅读亚历山大的 list.lisp 图书馆并没有向我透露任何秘密。

(defun familiar-function (list func)
  (loop for e in list
        collect (if (listp e)
                    (familiar-function e func)
                    (funcall func e))))

看起来像tree-map, also called maptree:

(familiar-function '(() (3 2 3) (2) (2) (55 22 33))
                   #'1+)
=> (NIL (4 3 4) (3) (3) (56 23 34))

如评论中所述,您的方法假设树是适当的列表,并且不将该函数应用于非零 cdr 单元格,这与链接函数相反。