3

大規模なプロジェクトをリファクタリングするときは、必要な変更を導入し、結果の型エラーを追跡することで、型チェッカーに作業を任せたいと思っています。

ただし、関連するタイプのエラーは出力前に GHCi に表示されるためFailed, modules loaded:十分な数のモジュールを含むプロジェクトでは、関連するエラーが大きなサイズの端末の上部からスクロールしてしまう可能性があります。

GHCi がこの出力を抑制したり、少なくともエラーが最後に表示されるように並べ替えたりするためのフラグまたはオプションはありますか?

4

3 に答える 3

1

GHCiにロードする代わりに、GHCを使用してファイルをコンパイルしてみることができます。そうすれば、ファイルをロードしようとせず、コンパイルするだけなので、コンパイルエラーと警告のみが表示されます。

したがって、これの代わりに:

$ ghci -Wall -Werror
GHCi, version 7.4.2: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude> :l foo.hs

...これを行うだけです:

$ ghc -Wall -Werror foo.hs

ちなみに、UNIX / Linuxで端末を使用している場合は、フォントサイズを簡単に変更したり、端末のサイズを水平方向に変更したり(Windowsで端末がデフォルトで実行されている間は実行できません)、スクロールバックを増やしたりできます。 、それ以外の場合は、表示できる行数を増やします:)

于 2012-07-16T19:24:59.077 に答える
0

sed回避策は良い考えですが、Ctrl sed+c も受け取り、パイプを壊します。この問題を回避するバリアントを次に示します。

cabal new-repl cabal-install | (trap '' SIGINT; sed -e '/Failed, modules loaded.*/d')

cabal new-repl(お好みの GHCi コマンドに置き換えてください。)

于 2016-08-02T05:45:19.843 に答える