1

ファイル A.hs、B.hs、C.hs で定義されている A、B、C という 3 つのデータ コンストラクターがあり、ファイルはディレクトリ project-utils にあります。ここで、これらのデータ コンストラクターを他のプロジェクトの一部で使用したいと考えています。これらのプロジェクトは、まったく異なるディレクトリにあります。このようなプロジェクト ファイルで、A、B、および C のデータおよび型コンストラクターをインポートするにはどうすればよいですか?

以下の最初の回答のおかげで、そのようなプロジェクトをより良い方法で整理するためのスケルトンを探していることに気付きました。検索しましたが、そのようなプロジェクトの骨組みは見つかりませんでした。そこに提供されているリンクには、あいまいな方法で説明されている多くのことが含まれています。たとえば、5行目は、「...」と簡単に書かれています。

私が探しているのは、Haskell サイトで提供されているように、スケルトン プロジェクトは非常に単純な「単一」ファイル プロジェクトであってはならないということです。しかし、ハックに関する多くのプロジェクトで見られる大量の依存関係などで過度に複雑であってはなりません。

編集:私の問題をより良い方法で反映するようにタイトルを変更しました。ご不便おかけしてすみません。

4

3 に答える 3

4
  1. それらから cabal pkg を作成し、そのパッケージをローカルにインストールします。
  2. hereのようなディレクトリ構造に従い、プロジェクト間ではなくプロジェクト内でこれらのコンストラクターを使用します。言及された構造は、基本的にカバールパッケージの構造です。
  3. ghcコンパイル中またはロード中に入力ソースを手動で追加しますghci。例

    ghci -i project-utils/A.hs Foo.hs

where Foo.hsuses によってエクスポートされた要素A.hs

于 2013-06-30T18:05:33.440 に答える
0

私はこれを見つけました:便利なリファレンスとしてhaskellプログラムリンクを書く方法。

@Tem Pora : yesod と yesod-bin をインストールする必要があります。このリンクは、足場について詳しく説明しています

cabal install yesod
cabal install yesod-bin
<cdtoprojdir> yesod init

お役に立てれば。

于 2014-03-10T18:09:40.453 に答える