非常に小さなデータベース、つまりある種のテキストファイルと基本的なルールを使用して、haskell で前方/後方連鎖を実装しようとしています。助けていただければ幸いです。ありがとう
1 に答える
3
役立つかもしれないいくつかのモナドは次のとおりです。
これらのモナドには、以前の状態に自動的に戻る失敗の概念があります(さまざまな方法でバックトラックします。どちらを使用するかは、必要な動作によって異なります)。
統合を行う場合はStateT
、変数から値までの辞書を使用して、これらのモナドの1つで使用します。
これらの要素を使用すると、Haskellでは後向き連鎖ロジックエンジンは実際には非常に小さく簡単です。私は自分のプロジェクトの1つに似たようなものを約30行で書きました(参照が必要な場合は、このファイルの後半にあります。正確に使用できるとは思えません)。
警告:このタスクは経験豊富なHaskellプログラマーにとっては簡単ですが、比較的高度な概念を使用しているため、Haskellをまだ知らない場合は、必要な30行を思い付くのは非常に困難です。最初に拡張チュートリアルを実行します。
于 2013-03-13T18:53:00.900 に答える