1

次のように、スタックを使用して Haskell プロジェクトを整理しています。

.
├── ProjectA
│   ├── Main.hs
│   ├── ProjectA.cabal
│   └── Setup.hs
├── ProjectB
│   ├── Main.hs
│   ├── ProjectB.cabal
│   └── Setup.hs
├── ProjectC
│   ├── Main.hs
│   ├── ProjectC.cabal
│   └── Setup.hs
└── stack.yaml

つまり、多くのディレクトリがあり、それぞれにパッケージが含まれており、それらを含む単一のスタック環境があります。ワークフロー中に、stack buildコンパイル エラーを取得し、作業をガイドするために を使用しています。問題は、適切なエラー メッセージを表示するのに時間がかかりすぎることと、編集したすべてのファイルのすべての依存関係を再構築することです。私はインタラクティブに作業するのが好きです。つまり、数行のコードを編集し、コンパイルし、繰り返します。常に一度に 1 つのファイルのみを編集します。これにより、ワークフローが大幅に遅くなります。

(グローバル インストールで)使用する前stackに、編集中のファイルに対して GHCI を実行するだけでしたが、それはもう機能しません。セットアップでエラー メッセージの取得を高速化する方法はありますか?

これは次の出力ですstack build --verbose

2015-10-23 14:58:29.987203: [debug] Checking for project config at: /Users/v/hs/stack.yaml @(stack-0.1.2.0:Stack.Config src/Stack/Config.hs:496:9)
2015-10-23 14:58:29.987438: [debug] Loading project config file stack.yaml @(stack-0.1.2.0:Stack.Config src/Stack/Config.hs:519:13)
2015-10-23 14:58:29.997623: [debug] Run process: ghc --info @(stack-0.1.2.0:System.Process.Read src/System/Process/Read.hs:254:3)
2015-10-23 14:58:30.097836: [debug] Run process: ghc --numeric-version @(stack-0.1.2.0:System.Process.Read src/System/Process/Read.hs:254:3)
2015-10-23 14:58:30.164305: [debug] Run process: ghc-pkg --no-user-package-db field --simple-output Cabal id @(stack-0.1.2.0:System.Process.Read src/System/Process/Read.hs:254:3)
2015-10-23 14:58:30.210596: [debug] Run process: ghc-pkg --no-user-package-db list --global @(stack-0.1.2.0:System.Process.Read src/System/Process/Read.hs:254:3)
2015-10-23 14:58:30.272135: [debug] Checking resolver: lts-3.7 @(stack-0.1.2.0:Stack.Build.Source src/Stack/Build/Source.hs:86:13)
2015-10-23 14:58:30.609624: [debug] Run process: ghc-pkg --global --no-user-package-db dump --expand-pkgroot @(stack-0.1.2.0:System.Process.Read src/System/Process/Read.hs:254:3)
2015-10-23 14:58:30.69387: [debug] Run process: ghc-pkg --user --no-user-package-db --package-db /Users/v/.stack/snapshots/x86_64-osx/lts-3.7/7.10.2/pkgdb/ dump --expand-pkgroot @(stack-0.1.2.0:System.Process.Read src/System/Process/Read.hs:254:3)
2015-10-23 14:58:30.767327: [debug] Run process: ghc-pkg --user --no-user-package-db --package-db /Users/v/hs/.stack-work/install/x86_64-osx/lts-3.7/7.10.2/pkgdb/ dump --expand-pkgroot @(stack-0.1.2.0:System.Process.Read src/System/Process/Read.hs:254:3)
2015-10-23 14:58:31.82109: [debug] Run process: ghc-pkg --no-user-package-db list --global @(stack-0.1.2.0:System.Process.Read src/System/Process/Read.hs:254:3)
2015-10-23 14:58:31.867523: [info] Game-0.1.0.0-d9d944cf39a7cec36b48d4a724502fa6: unregistering (missing dependencies: Image) @(stack-0.1.2.0:Stack.Build.Execute src/Stack/Build/Execute.hs:315:17)
2015-10-23 14:58:31.867867: [debug] Run process: ghc-pkg --no-user-package-db --package-db=/Users/v/hs/.stack-work/install/x86_64-osx/lts-3.7/7.10.2/pkgdb/ unregister --user --force Game-0.1.0.0 @(stack-0.1.2.0:System.Process.Read src/System/Process/Read.hs:254:3)
2015-10-23 14:58:31.958876: [info] Image-0.1.0.0-6944dffdf3e7e7ee0a9401deccf4f104: unregistering (local file changes) @(stack-0.1.2.0:Stack.Build.Execute src/Stack/Build/Execute.hs:315:17)
2015-10-23 14:58:31.959184: [debug] Run process: ghc-pkg --no-user-package-db --package-db=/Users/v/hs/.stack-work/install/x86_64-osx/lts-3.7/7.10.2/pkgdb/ unregister --user --force Image-0.1.0.0 @(stack-0.1.2.0:System.Process.Read src/System/Process/Read.hs:254:3)
2015-10-23 14:58:32.052864: [info] Image-0.1.0.0: build @(stack-0.1.2.0:Stack.Build.Execute src/Stack/Build/Execute.hs:490:18)
2015-10-23 14:58:32.053139: [debug] Run process: /Applications/ghc-7.10.2.app/Contents/bin/runhaskell -package=Cabal-1.22.4.0 -clear-package-db -global-package-db -package-db=/Users/v/.stack/snapshots/x86_64-osx/lts-3.7/7.10.2/pkgdb/ /var/folders/1r/s4q2bscs1xqfzl1913c0wwbm0000gn/T/stack3896/Setup.hs --builddir=.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/ build @(stack-0.1.2.0:Stack.Build.Execute src/Stack/Build/Execute.hs:591:13)
2015-10-23 14:58:36.437519: [info] Image-0.1.0.0: install @(stack-0.1.2.0:Stack.Build.Execute src/Stack/Build/Execute.hs:490:18)
2015-10-23 14:58:36.437713: [debug] Run process: /Applications/ghc-7.10.2.app/Contents/bin/runhaskell -package=Cabal-1.22.4.0 -clear-package-db -global-package-db -package-db=/Users/v/.stack/snapshots/x86_64-osx/lts-3.7/7.10.2/pkgdb/ /var/folders/1r/s4q2bscs1xqfzl1913c0wwbm0000gn/T/stack3896/Setup.hs --builddir=.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/ install @(stack-0.1.2.0:Stack.Build.Execute src/Stack/Build/Execute.hs:591:13)
2015-10-23 14:58:37.063125: [debug] Run process: ghc-pkg --no-user-package-db --package-db=/Users/v/.stack/snapshots/x86_64-osx/lts-3.7/7.10.2/pkgdb/ --package-db=/Users/v/hs/.stack-work/install/x86_64-osx/lts-3.7/7.10.2/pkgdb/ field --simple-output Image id @(stack-0.1.2.0:System.Process.Read src/System/Process/Read.hs:254:3)
2015-10-23 14:58:37.139879: [info] Game-0.1.0.0: build @(stack-0.1.2.0:Stack.Build.Execute src/Stack/Build/Execute.hs:490:18)
2015-10-23 14:58:37.140276: [debug] Run process: /Applications/ghc-7.10.2.app/Contents/bin/runhaskell -package=Cabal-1.22.4.0 -clear-package-db -global-package-db -package-db=/Users/v/.stack/snapshots/x86_64-osx/lts-3.7/7.10.2/pkgdb/ /var/folders/1r/s4q2bscs1xqfzl1913c0wwbm0000gn/T/stack3896/Setup.hs --builddir=.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/ build @(stack-0.1.2.0:Stack.Build.Execute src/Stack/Build/Execute.hs:591:13)
2015-10-23 14:58:38.232964: [info] Game-0.1.0.0: install @(stack-0.1.2.0:Stack.Build.Execute src/Stack/Build/Execute.hs:490:18)
2015-10-23 14:58:38.233154: [debug] Run process: /Applications/ghc-7.10.2.app/Contents/bin/runhaskell -package=Cabal-1.22.4.0 -clear-package-db -global-package-db -package-db=/Users/v/.stack/snapshots/x86_64-osx/lts-3.7/7.10.2/pkgdb/ /var/folders/1r/s4q2bscs1xqfzl1913c0wwbm0000gn/T/stack3896/Setup.hs --builddir=.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/ install @(stack-0.1.2.0:Stack.Build.Execute src/Stack/Build/Execute.hs:591:13)
2015-10-23 14:58:38.85603: [debug] Run process: ghc-pkg --no-user-package-db --package-db=/Users/v/.stack/snapshots/x86_64-osx/lts-3.7/7.10.2/pkgdb/ --package-db=/Users/v/hs/.stack-work/install/x86_64-osx/lts-3.7/7.10.2/pkgdb/ field --simple-output Game id @(stack-0.1.2.0:System.Process.Read src/System/Process/Read.hs:254:3)
2015-10-23 14:58:38.931549: [info] Test-0.1.0.0: build @(stack-0.1.2.0:Stack.Build.Execute src/Stack/Build/Execute.hs:490:18)
2015-10-23 14:58:38.931772: [debug] Run process: /Applications/ghc-7.10.2.app/Contents/bin/runhaskell -package=Cabal-1.22.4.0 -clear-package-db -global-package-db -package-db=/Users/v/.stack/snapshots/x86_64-osx/lts-3.7/7.10.2/pkgdb/ /var/folders/1r/s4q2bscs1xqfzl1913c0wwbm0000gn/T/stack3896/Setup.hs --builddir=.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/ build @(stack-0.1.2.0:Stack.Build.Execute src/Stack/Build/Execute.hs:591:13)
2015-10-23 14:58:42.550672: [info] Test-0.1.0.0: install @(stack-0.1.2.0:Stack.Build.Execute src/Stack/Build/Execute.hs:490:18)
2015-10-23 14:58:42.550859: [debug] Run process: /Applications/ghc-7.10.2.app/Contents/bin/runhaskell -package=Cabal-1.22.4.0 -clear-package-db -global-package-db -package-db=/Users/v/.stack/snapshots/x86_64-osx/lts-3.7/7.10.2/pkgdb/ /var/folders/1r/s4q2bscs1xqfzl1913c0wwbm0000gn/T/stack3896/Setup.hs --builddir=.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/ install @(stack-0.1.2.0:Stack.Build.Execute src/Stack/Build/Execute.hs:591:13)
2015-10-23 14:58:43.308516: [debug] Run process: ghc-pkg --no-user-package-db --package-db=/Users/v/.stack/snapshots/x86_64-osx/lts-3.7/7.10.2/pkgdb/ --package-db=/Users/v/hs/.stack-work/install/x86_64-osx/lts-3.7/7.10.2/pkgdb/ field --simple-output Test id @(stack-0.1.2.0:System.Process.Read src/System/Process/Read.hs:254:3)
2015-10-23 14:58:43.381165: [debug] Run process: ghc-pkg --no-user-package-db --package-db=/Users/v/.stack/snapshots/x86_64-osx/lts-3.7/7.10.2/pkgdb/ --package-db=/Users/v/hs/.stack-work/install/x86_64-osx/lts-3.7/7.10.2/pkgdb/ field --simple-output Test id @(stack-0.1.2.0:System.Process.Read src/System/Process/Read.hs:254:3)
Completed all 3 actions.
4

0 に答える 0