Lisp对Factor编程语言的影响?

Lisp对Factor编程语言的影响?,lisp,factor-lang,concatenative-language,Lisp,Factor Lang,Concatenative Language,我读过(来自Slava Pestov)这个因素是受Lisp影响的,但我不确定我是否能理解它是如何影响的?它们不是非常不同的编程语言吗?例如,对象系统类似于CLOS。尽管该语言是基于堆栈的,但仍有大量元素显示出明显的lisp影响。以IF语句为例。在forth If语句中,If语句是cond If(如果为true则编码)ELSE(如果为false则编码),If的定义在运行时起作用,以确保运行正确的分支。If-in-factor是If-in-lisp的直接翻译,它接受真引号和假引号,并执行正确的引号。

我读过(来自Slava Pestov)这个因素是受Lisp影响的,但我不确定我是否能理解它是如何影响的?它们不是非常不同的编程语言吗?

例如,对象系统类似于CLOS。

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

好吧,从目前为止我所看到的一点来看,整个“代码作为数据”的理念在Factor中也非常明显。有宏,你可以引用代码和被引用的代码作为序列。基本上,Factor中的引号相当于Lisp中的quoted list/s表达式。Lisp更进一步,对所有代码使用s表达式