2013-10-29 32 views

回答

2

我想编写一个流氓“解决”的表述问题,是一个有点强,但你可以说,你可以很容易地写在它的表达语法的公开可扩展实现。它正是为此而设计的,请参阅http://www.rascal-mpl.org/from-functions-to-term-rewriting-and-back/

一方面,可以编写不受Rascal中表达式问题影响的程序,正因如此:数据和函数都是可公开扩展的,而且它们通过模式匹配进行动态调度一起工作。

在另一方面,这是很容易写不可扩展的实现,以及在捣蛋鬼。尤其是在使用当前访问或switch语句时,这些语句不能公开扩展。同样,如果您编写一组相互递归的函数,可能很难以无法预料的方式扩展它们。我们也在研究语言功能,以扩展这些设计。这是为了未来。

+0

我喜欢阅读博客文章。我认为你们应该更多地关注Rascal的设计。还有一些关于Rascal内部的帖子将不胜感激。这将使得贡献更容易。 – day

+0

Thx!是的,我们应该多写一些博客。 – jurgenv

+0

我在那里发布了一些关于该帖子的问题,如果你能回答,也会很感激。 – day