【问题标题】:Where do these namings in common lisp come from?common lisp 中的这些命名从何而来?
【发布时间】:2009-12-11 06:36:51
【问题描述】:

在普通的 lisp 中,labelsflet 这两个名字对我来说有些特殊。

flet 可以描述为 f 函数的一种 let。所以就这样命名了。 标签呢?

getfsetfremf的“f”从何而来?

谢谢。

【问题讨论】:

    标签: common-lisp


    【解决方案1】:

    LABEL(没有 s)是一个非常古老的(来自早期的 Lisp 方言)结构,它允许为函数命名,以便它可以使用该名称调用自己:

    类似的东西(这不是有效的 Common Lisp):

    (label 'ff (lambda (x) (if (foo) (bar) (ff (baz)))))
    

    标签是一个有名字的函数。

    对于 Common Lisp,此名称已被回收。 LABELS 现在允许定义可以通过名称调用自身的本地函数。

    【讨论】:

      【解决方案2】:

      获取表单、设置表单、删除表单。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多