7

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

4

3 回答 3

9

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

于 2010-09-22T19:48:22.130 回答
8

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

于 2010-09-11T17:06:09.523 回答
0

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

于 2015-08-25T02:18:06.937 回答