問題タブ [haskell-stack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - GHC リンカー エラー (スタック)
私はHaskellの初心者で、アプリケーションを構築するためにスタックを試しています。
ただし、stack build
実行するとリンカーエラーが発生します。
ラベルを見ると、この関数のクロージャーに関連していることがわかります。
しかし、そこには本当に閉鎖はありませんか?の実装lint
を
それはうまくコンパイルされます。
stack ghci
完全なlint
実装を問題なく実行して、いじることができます。リンクに失敗するのはなぜですか?
haskell - Gloss をインポートするプロジェクトを含めると、「stack ghci」が失敗する
Gloss を Stack プロジェクト内にインポートして を使用するstack ghci
と、次のエラーが発生します。
どうすれば修正できますか?
haskell - `stack build` はエラー メッセージを配信するのに時間がかかりすぎます。どうすれば改善できますか?
次のように、スタックを使用して Haskell プロジェクトを整理しています。
つまり、多くのディレクトリがあり、それぞれにパッケージが含まれており、それらを含む単一のスタック環境があります。ワークフロー中に、stack build
コンパイル エラーを取得し、作業をガイドするために を使用しています。問題は、適切なエラー メッセージを表示するのに時間がかかりすぎることと、編集したすべてのファイルのすべての依存関係を再構築することです。私はインタラクティブに作業するのが好きです。つまり、数行のコードを編集し、コンパイルし、繰り返します。常に一度に 1 つのファイルのみを編集します。これにより、ワークフローが大幅に遅くなります。
(グローバル インストールで)使用する前stack
に、編集中のファイルに対して GHCI を実行するだけでしたが、それはもう機能しません。セットアップでエラー メッセージの取得を高速化する方法はありますか?
これは次の出力ですstack build --verbose
。
haskell - スタックでテスト モジュールを自動的にビルドする方法は?
私はこれを持っていますSpec.hs
:
そして、他のモジュールからのテスト スイートをその に追加することを計画していますmain
。
次のようにテストを実行すると:
いくつかのことが起こります:
- が変更されるとテストが再
OtherSpec.hs
実行されますが、テスト実行可能ファイルは再構築されません。 Spec.hs
テスト実行可能ファイルを変更すると、再構築され、変更OtherSpec.hs
も選択されます。
変更時に再構築をトリガーする方法はありOtherSpec.hs
ますか?
スタック バージョン 0.1.2.0 を使用しています。
haskell - Haskell のスタック プログラムとリゾルバおよび LTS バージョンの理解
stack と stackage.org の使用方法を理解しようとしています。最初にインストールして使用したとき、stackage.org は LTS-3.8 (「リゾルバー」) でした。それ以来、stackage.org は現在 LTS-3.11 を持っています。
まず、これが何を意味するのかを確認したいと思います。Stackage は、特定の LTS バージョン (3.8 など) について、パッケージが連携して動作することが検証されているパッケージのリポジトリです。そのため、LTS-3.8 のパッケージは連携して動作し、LTS-3.11 のパッケージも連携して動作します。先に進む...
を実行するstack new projectname
と、スタックから次のように通知されます。
これは、LTS-3.8 で検証されたパッケージとバージョンのみを使用するようにプロジェクトが設定されているということですか?
新しいプロジェクトを開始し、新しいプロジェクトで最新の LTS バージョンを使用したい場合、スタックにデフォルトでそれを行うように指示するにはどうすればよいですか?
新しい LTS バージョンを使用するために古いプロジェクトを「アップグレード」したい場合はどうなりますか?
haskell-stack - stack を使用してスタック プロジェクト extra-deps をインストールする
両方がインデックスに見つからない場合、a
依存関係のあるプロジェクトをビルドするにはどうすればよいですか?b
stack
を使用stack install
しb
、追加しましextra-deps
たが、ビルドに失敗しましたa
。
b
「パッケージ インデックス」にないのはなぜですか? プロジェクトをどのようにビルドすればよいa
ですか?
haskell - スタック使用時の「.ghci」ファイルの編集
Stack の使用を開始しましたが、編集する .ghci ファイルが見つかりません ( と を含めたい:set -XOverloadedStrings
) :set prompt "ghci> "
。
.ghci
使用したファイルを検索するには-
これは検索結果を返しませんでした。Stack のドキュメントを確認しましたが、.ghci
ファイルの編集に関する情報が見つかりませんでした。どこか:set -XOverloadedStrings
に保存することは可能ですか?:set prompt "ghci> "
haskell - Haskell Stack ビルド ツールを使用したプロジェクト間の依存関係 -- 最適なワークフローは?
パッケージ マネージャーとビルド ツールを使用して、比較的大きな Haskell プロジェクトを開始したところです。プロジェクトをstack
いくつかのプロジェクトに分割しstack
、それらの間に依存関係を持たせる最善の方法を見つけようとしています。
基本的に、stack
Stackage からダウンロードした外部パッケージを自分のプロジェクトに含める方法は理解していると思いますが、他のローカル プロジェクトのパッケージを含める方法はわかりません。stack
それを使用してライブラリを作成し、他のプロジェクトで使用するにはどうすればよいですか?