【问题标题】:Lisp influence on on Factor programming language?Lisp 对 Factor 编程语言的影响?
【发布时间】:2010-09-10 00:47:21
【问题描述】:

我(来自 Slava Pestov)读到 Factor 受到 Lisp 的影响,但我不确定我能理解如何?它们不是很不同的编程语言吗?

【问题讨论】:

    标签: lisp factor-lang concatenative-language


    【解决方案1】:

    尽管该语言是基于堆栈的,但仍有许多元素显示出明显的 lisp 影响。以 IF 语句为例。在第四个 If 语句中是 cond IF(如果为真,则为代码) ELSE(如果为假,则为代码) THEN 和 If 的定义作用于运行时以确保运行正确的分支。 if in factor 是 if in lisp 的直接翻译,它接受一个真引号和一个假引号并执行正确的一个。 编辑:另一个是动态范围,CL 是众所周知的。它的词法变量由 let 表达式定义,就像 lisp.(let 和 let* )

    【讨论】:

      【解决方案2】:

      对象系统,例如:http://concatenative.org/wiki/view/Object%20system,类似于 CLOS。

      【讨论】:

        【解决方案3】:

        嗯,从我目前所见的一点点来看,整个“代码即数据”的理念在 Factor 中也很明显。有宏,您可以引用代码和操作引用的代码作为序列。基本上,Factor 中的引用等同于 Lisp 中的引用列表/s 表达式。 Lisp 通过对所有代码使用 s 表达式更进一步。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-11-06
          • 1970-01-01
          • 2022-06-14
          • 1970-01-01
          • 2019-03-03
          • 1970-01-01
          • 2011-03-19
          • 1970-01-01
          相关资源
          最近更新 更多