F#を使用してASTを解析し、インタープリターを構築するための最良の方法は何ですか?簡単な構文(基本的な算術演算)のF#の例はたくさんありますが、機能の範囲がはるかに広い言語では何も見つからないようです。
識別された共用体は非常に便利に見えますが、多数のオプションを備えた共用体をどのように構築しますか?タイプ(加算、減算、条件、制御フローなど)を他の場所で定義し、それらを結合内の事前定義されたタイプとしてまとめる方がよいでしょうか?
それとも、通訳を書くためのはるかに効果的な手段を逃したことがありますか?タイプごとにeval関数を使用する方が効果的ですか、それともモナドを使用するのでしょうか。
前もって感謝します