在Rascal中是否有类似`quote`的设施la Lisp

时间:2013-10-21 08:04:23

标签: rascal

我知道Rascal旨在成为其他语言的元语言。这些语言是否包括Rascal本身?是否有可用或计划的quote la Lisp等元设施?

1 个答案:

答案 0 :(得分:1)

您可以通过包含Rascal语法定义并使用常规引号来使用Rascal转换Rascal。我们不打算在运行时为Rascal本身添加引用。

我之前忘记提到的一件事是,“资源”机制可用于在“导入”时操纵Rascal代码。您可以编写任何函数,如:

@resource{myScheme}
str generateNewCode(str name, loc l) = ...

generateNewCode应该生成一个名为name的Rascal模块。

在此之后,您可以按如下方式导入:

import MyModule = myScheme://someOtherModuleName;

然后由generatecal导入生成的模块由Rascal导入您输入导入的模块。

没有什么可以阻止你编写一个解析另一个模块的generateNewCode函数,重写或扩展它然后将被导入。