在Scheme中返回一个没有开头括号的quasiquote?

时间:2011-02-20 04:49:00

标签: scheme expression quote

有没有办法使用quasiquotes返回表达式,同时仍然摆脱了开头的括号?

例如:

`(a ,(foo))

可以返回实际返回

`a *foosvalue)

我意识到这似乎是随机的。我正在尝试在方案中编写一个函数,该函数返回一个表达式,然后可以使用eval进行评估。有没有更好的方法来返回表达式?

1 个答案:

答案 0 :(得分:1)

Quasiquoting只能返回有效的S表达式。您可以返回类似符号的内容,但不能返回列表的一部分。但是,您可以使用,@将列表中的多个元素拼接成一个准引用区域。