【发布时间】:2010-11-17 08:29:44
【问题描述】:
根据定义,homiconic这个词的意思是:
代码和数据的相同表示
在 LISP 中,这意味着您可以有一个带引号的列表并对其进行评估,因此 (car list) 将是函数,(cdr list) 是参数。这可以在编译时或运行时发生,但是它需要一个解释器。
没有编译时解释器的编译语言是否也可以是同音的?还是同音性的概念仅限于口译员?
【问题讨论】:
-
作为一个问题,您认为 Perl 是同音字吗?它可以将自己的代码表示为字符串,并具有 eval() 函数。
-
这是我的想象,还是我们对此页面上的每个答案都投了反对票?
-
David:除非您将所有 Perl 数据存储在字符串中,并使用 eval() 调用所有 Perl 函数,否则不,我不会认为 Perl 是同义词。 :-)
-
程序集是同形的。
标签: compiler-construction lisp scheme interpreter homoiconicity