スキームを使用してプログラミング言語プロジェクトを行うことに興味があります。私が検討したカップル -
Scheme(metacircular) のスキーム拡張インタープリター - 問題は、これらの多くが既に存在していて、それほど難しいものではないということです。
ドメイン固有言語の実装。これは良いものですが、DSL の恩恵を受けるドメインは思い浮かびません。何でも知ってますか?
より多くのアイデアに役立つものはありますか?
ありがとう。
スキームを使用してプログラミング言語プロジェクトを行うことに興味があります。私が検討したカップル -
Scheme(metacircular) のスキーム拡張インタープリター - 問題は、これらの多くが既に存在していて、それほど難しいものではないということです。
ドメイン固有言語の実装。これは良いものですが、DSL の恩恵を受けるドメインは思い浮かびません。何でも知ってますか?
より多くのアイデアに役立つものはありますか?
ありがとう。
ドメイン固有言語の問題は、有用な言語を作成するには、そのドメインに関する十分な知識と、その知識を簡単に再利用可能な形式にカプセル化する動機が必要なことです。
たとえば、私の趣味の 1 つは、コントラクト ブリッジ ゲームに関連する確率を計算することです。DSL を使用すると、そのような計算の 1 つに関する制約を、ゲームに精通している人々にとって非常に読みやすい便利な形式で指定できます (基本的には、「ノースが少なくとも 5 つのスペードを持ち、ハートよりも多くのスペードを持っている場合、スペードの長さの確率分布はどうなるか」のようになります)。 in the South hand」など)。そういう計算をたくさんするので、モチベーションもあります。
ただし、他の人 (あなたがどの分野に知識と関心を持っているかを知らない) は、あなたに推奨事項を提供する立場にありません。 、適切な DSL を実行する必要がありました。
したがって、興味深く価値があると思われるドメインがいくつかない限り、代わりに他の汎用言語を使用するという@Nathanielの提案は、より良いアイデアかもしれません!
メタサーキュラー エバリュエーターを実行したくない場合は、Scheme で別の言語のインタープリターを作成してみてください。私はクラス プロジェクトのスキームで ML インタプリタを作成しましたが、それらは常にセマンティクスを共有するとは限らないため、Scheme 実装よりも困難です。