我对使用方案编程语言项目感兴趣。我已经考虑一对夫妇 -编程语言项目使用方案
的方案扩展解释方案(metacircular) - 问题是,很多这些已经存在,它不是太有挑战性。
实施特定于域的语言。这一个很好,但是我不能想到哪个域可以从DSL中受益。你知道任何?
一些帮助更多的想法?
谢谢。
我对使用方案编程语言项目感兴趣。我已经考虑一对夫妇 -编程语言项目使用方案
的方案扩展解释方案(metacircular) - 问题是,很多这些已经存在,它不是太有挑战性。
实施特定于域的语言。这一个很好,但是我不能想到哪个域可以从DSL中受益。你知道任何?
一些帮助更多的想法?
谢谢。
如果你不想做一个metacircular评估者,你可能想尝试在sccheme中编写另一种语言的解释器。我在一个类项目的方案中编写了一个ML解释器,它们比Scheme实现更具挑战性,因为它们并不总是共享语义。
特定于领域的语言的问题在于,要做出有用的特定语言,您需要对该领域具有丰富的知识,并且有动机将该知识封装为可重复使用的形式。
例如,我的兴趣之一是与合同桥的游戏有关的计算概率; DSL让我能够以便利的形式指定一个这样的计算的约束条件,这对于熟悉游戏的人来说是非常易读的(它基本上是这样写的:“如果North与黑桃相比至少有5个黑桃和更多的黑桃,黑桃长度的概率分布是多少在南手“等)。正如我做了很多这样的计算,动机也在那里。
然而,其他人(不知道你有什么知识和兴趣的领域)很难为你提供他们的建议 - 如果他们这样做了,那么获得知识,经验和动机可能不值得在那个特定的领域,需要为它做一个好的DSL。
所以,除非有一些域你认为是有趣和有价值的,@纳撒尼尔关于做一些其他通用语言的建议可能是一个更好的主意!
您可以查看Scheme SRFIs,了解其他Schemers希望实施的Scheme项目列表。也许这会给你一些想法。
确实如此,如果为方案以外的其他语言提供口译服务将更具挑战性。 – Pranav 2009-06-05 14:59:06