【发布时间】:2018-08-11 07:37:41
【问题描述】:
我找到了一个LISP 1.5 Manual,里面有一些代码。
这个来自第 1.2 节
Examples
cons[A;B]=(A . B)
从阅读手册看来,函数cons 将两个原子作为输入参数A 和B,并输出一个S 表达式(A . B)。
问题:
如何将代码cons[A;B] 放入repl 中,运行它,然后查看输出(A . B)?
我希望做类似的事情:
~ $ lisp1.5
> cons[A;B]
=> (A . B)
例如,如果我去https://www.ruby-lang.org/en/ 看到一些代码,我会复制它,在我的shell 中输入irb 并粘贴它。
~ $ irb
irb(main):001:0> puts "Hello World!"
Hello World!
=> nil
【问题讨论】:
-
你的意思是:
(cons 'A 'B)? -
请注意,
cons[A;B]是用所谓的元语言编写的,而不是用 Lisp 编写的,而是用 S-Expressions 编写的(如(cons 'A 'B))。这在手册后面会解释。所以你应该得到一个 lisp(Scheme、Common Lisp 等)解释器/编译器并使用 S-Expressions。 -
您所描述的是 M 表达式,它是 Lisp 的建议语法,但从未实现。参见,例如the Wikipedia entry for them。
标签: lisp metalanguage