ClojureのCore.logicを使用したい。しかし、それがどのように機能するかも理解したいと思います。どこかに簡潔な説明がありますか?(メタサーキュラーエバリュエーターを実装するようなものですか?)
ありがとう!
ClojureのCore.logicを使用したい。しかし、それがどのように機能するかも理解したいと思います。どこかに簡潔な説明がありますか?(メタサーキュラーエバリュエーターを実装するようなものですか?)
ありがとう!
core.logicは、miniKanrenの実装です。元々は、Dan Friedman、William Byrd、OlegKiselyovなどによってSchemeで作成および設計されました。これは、PrologスタイルのリレーショナルプログラミングをLispに組み込む試みです。
それがどのように機能するかを理解したい場合は、ウィリアムバードの論文の最初の3つの章を読む必要があります:https ://scholarworks.iu.edu/dspace/bitstream/handle/2022/8777/Byrd_indiana_0093A_10344.pdf?sequence = 1
Reasoned Schemerは、ユニファイアについても詳しく説明しています。ただし、miniKanrenのはるかに微妙な目標部分には、包括的な処理が施されていません。そのために、バードの論文を確認する必要があります。
それでも、メタサーキュラーインタープリターの場合と同様に、さまざまなプログラミング言語でシステムを自分で実装しようとしない限り、多くの洞察を得ることができません。
また、StrangeLoop2012のcore.logicに関するDavidの講演もご覧いただけます。
また、このトピックの非常に簡単な紹介については、 sokuza-kanrenも参照してください。