LISP 中的 M 表达式 list[x;y] 有什么作用?

What does the M-expression list[x;y] do in LISP?

我在看this paper on LISP by McCarthy (way above my skill set). While defining the evaluation of (LABEL, f, e) here,他用了一个M-expression(我认为是M-expression,如果我错了请指正)list[x;y]。 {实际上,list[cadar[e];car[e]]}。

按照我的理解,它表示(e1, e2),其中e1和e2是S表达式。我是说对了还是其他什么,list[x;y]的对应表达式是什么?

谢谢。

在元语言中,表达式 list[a; b] 表示将函数 list 应用于两个参数,它构建了一个包含两个元素的列表,这两个元素是 [=12 的计算结果=] 和 b 分别。

在 S 表达式的语言中,因此,这将被写成通常的函数调用:(LIST a b),这是一个列表,第一个元素是函数的名称(LIST) 其余元素为函数的实际参数。请注意,这里我对 S 表达式使用符号 (a b),而不是 (a, b)。 McCarthy 自己后来更改了这种表示法,并在 LISP 1.5 Programmer’s Manual. 2. ed. Cambridge, Mass: MIT Pr, 1979. 中使用了新的表示法。