0

私は haskell に非常に慣れておらず、ウェブ全体を検索してきましたが、問題を解決できませんでした。Quipperパッケージをダウンロードしましたが、haskell にすべてのモジュールとファイルの場所と、すべてを適切にリンクする方法を認識させることができませんでした。

すべてのファイルとプログラムをダウンロードして適切にインストールしましたが、haskell に quipper ライブラリとテンプレートを認識させる方法がわかりません。私が試みるたびに:

:load And_gate.hsまたは他のファイル。

私は得る:

Could not find module "Quipper"またはそれが必要とするそれぞれのモジュール。

エラーでも何でもないと思います。haskell の仕組みに関する知識が不足しているだけだと思います。

Windows 7を使用しています。

4

3 に答える 3

2

そこで私は、Quipper を作成した教授の 1 人である Peter Selinger にメールを送りました。

追加で行う必要があるのは、MSYS 内だけです。

ghci -iC:/quipper -iC:/quipper/quipper

これにより、すべてが正しく準拠し、ファイルが正しく実行されます。

これが私への彼のメールです:

親愛なる - - -、

書いてくれてありがとう。お手伝いできるかどうか見てみましょう。

README ファイルの指示に従っていますか? 「さまざまなアルゴリズムとプログラムの構築」の下で、指示は「make」を実行することです。これにより、「tests」ディレクトリ内のすべてのテストが自動的にビルドされます。

次に、Quipper プログラムをコンパイルするには、quipper/scripts にある「quipper」スクリプトを使用する必要があります。「ghc」と同じように機能しますが、Quipper のファイルの正しいディレクトリが検索パスに自動的に含まれる点が異なります。Windows では、「quipper.bat」を使用します。

Quipper は、対話的に、つまり ghci から実行することを意図したものではありません。ただし、Quipper をインタラクティブに実行する必要がある場合は、quipper/scripts で「quipperi」スクリプトを使用することをお勧めします。これもロードパスを正しく設定します。Windows では、「quipperi.bat」を使用します。

最後に、ghci から Quipper のものを含める必要があるが、何らかの理由で quipperi スクリプトを使用できない、または使用したくない場合は、「-i」オプションを使用してそれらのディレクトリを指定する必要があります。

ghci -iC:/quipper -iC:/quipper/quipper

Windows では、「/」の代わりに「\」を使用する必要があるかもしれませんが、これが必要かどうかはわかりません。

これがお役に立てば幸いです -- ピーター

コンパイルして ghc で実行するときは、次のコマンドを含めるようにしてください。

-iC:/quipper -iC:/quipper/quipper.

Selinger教授が提案したようにquipperスクリプトを使用する場合、MSYS内で次のことを行います。

すべての Quipper ファイルが保持されているフォルダーに移動します。これは私の場合です。

cd C:/quipper/quipper/scripts

次にquipper、MSYS でファイルの場所を入力して、次のように exe をコンパイルします。

quipper C:/quipper/tests/And_gate.hs

ファイルがコンパイルされ、次のように更新が出力されます。

[1 of 22] Compiling Libraries.Typeable (......

[2 of 22] Compiling Libraries.Tuple (......

等々。

exe (この場合And_gate.exeは ) は、コンパイル元のフォルダー ( C:/quipper/tests) 内にあります。quipper/scripts適切に動作させるには、acroread.bat を含むフォルダーに移動する必要があります。

于 2013-08-06T00:59:37.347 に答える
1

何らかの理由で、このコードは標準の Haskell パッケージとしてパッケージ化されていません。もしそうなら、それをインストールするのはかなり簡単でしょう。そのままでは、README ファイルの指示はひどいものに見えます (特に Windows では、makefile を実行するために MSYS が必要なようです)。

あなたの問題は、GHCi にファイルを見つけるためにどのフォルダを調べるかを伝えるのと同じくらい簡単かもしれません。コマンドを使用してそれを行うことができます:cd。Windows を使用しているので、GUI を使用して適切なフォルダーを参照できる WinGHCi を試すことをお勧めします。

それほど単純ではない場合...実際、Haskellの初心者として、おそらくこれを機能させるのに苦労するでしょう。ドキュメントはかなり最小限に見えます。

于 2013-08-04T17:44:50.957 に答える