0

除了 Lisp 方言,还有其他基于 S 表达式或波兰语前缀表示法的语言吗?

它不必是函数式编程语言,也不必以某种方式与 Lisp 相关。

当我说 Lisp 方言时,我指的是 Arc、AutoLISP、Clojure、Common Lisp、Emacs Lisp、EuLisp、Franz Lisp、Interlisp、ISLISP、LeLisp、Maclisp、MDL、Newlisp、NIL、Picolisp、Portable Standard Lisp、Racket、Scheme、SKILL 、Spice Lisp、T、XLISP、Zetalisp(来自维基百科页面)。

有许多完全不同的语言使用类 C 语法或类 Python 语法,但对于 S 表达式或波兰语前缀表示法语法,似乎只有 Lisp 方言。真的是这样吗?为什么?

4

2 回答 2

2

您可以将任何使用大括号表示块和某种基于关键字的解析树的语言称为 C(或 ALGOL)方言。这将恢复对称性。

换句话说:定义“完全不同”。

于 2013-06-16T20:09:20.167 回答
1

当我读到“Lisp 方言”这个术语时,我认为至少除了带括号的前缀符号之外,还应该有一种方法可以将代码作为数据和数据作为代码进行操作。

当然,没有什么禁止只保留符号,而是提供一种静态语言,其中数据/代码二元性不像 C++ 那样存在……只是这样做没有多大意义,因此没有众所周知的例子。

SICP 中使用的方案子集就是这样一种语言。

除了 Lisp 方言之外,没有任何语言具有带括号的前缀符号和代码/数据对偶性,因为这通常是 Lisp 方言的定义。

于 2013-06-16T21:41:47.793 回答