2009-06-05 66 views
1

我對使用方案編程語言項目感興趣。我已經考慮一對夫婦 -編程語言項目使用方案

  1. 的方案擴展解釋方案(metacircular) - 問題是,很多這些已經存在,它不是太有挑戰性。

  2. 實施特定於域的語言。這一個很好,但是我不能想到哪個域可以從DSL中受益。你知道任何?

一些幫助更多的想法?

謝謝。

回答

2

如果你不想做一個metacircular評估者,你可能想嘗試在sccheme中編寫另一種語言的解釋器。我在一個類項目的方案中編寫了一個ML解釋器,它們比Scheme實現更具挑戰性,因爲它們並不總是共享語義。

+0

確實如此,如果爲方案以外的其他語言提供口譯服務將更具挑戰性。 – Pranav 2009-06-05 14:59:06

3

特定於領域的語言的問題在於,要做出有用的特定語言,您需要對該領域具有豐富的知識,並且有動機將該知識封裝爲可重複使用的形式。

例如,我的興趣之一是與合同橋的遊戲有關的計算概率; DSL讓我能夠以便利的形式指定一個這樣的計算的約束條件,這對於熟悉遊戲的人來說是非常易讀的(它基本上是這樣寫的:「如果North與黑桃相比至少有5個黑桃和更多的黑桃,黑桃長度的概率分佈是多少在南手「等)。正如我做了很多這樣的計算,動機也在那裏。

然而,其他人(不知道你有什麼知識和興趣的領域)很難爲你提供他們的建議 - 如果他們這樣做了,那麼獲得知識,經驗和動機可能不值得在那個特定的領域,需要爲它做一個好的DSL。

所以,除非有一些域認爲是有趣和有價值的,@納撒尼爾關於做一些其他通用語言的建議可能是一個更好的主意!

1

您可以查看Scheme SRFIs,瞭解其他Schemers希望實施的Scheme項目列表。也許這會給你一些想法。