debug パッケージのアナウンス (翻訳)

Original post: Announcing the ‘debug’ package

Haskell は素晴らしい言語ですが、Haskell のデバッグは間違いなく弱い部分です。この問題をどうにかするために、debug ライブラリ をリリースしました。このライブラリは全てのことを解決するのではなく、一般的なデバッグのタスクに対してシンプルで簡単に使えるような設計を目指しました。デバッグをするにあたって、みなさんが興味を持ってくれるような関数を例に取って見てみましょう。

TemplateHaskellViewPatterns を有効にしてから、Debug をインポートし、コードをインデントして debug の引数に渡してやりましょう。

以下のコマンドでデバッガを走らせることができます。

$ ghci QuickSort.hs
GHCi, version 8.2.1: http://www.haskell.org/ghc/  :? for help
[1 of 1] Compiling QuickSort        ( QuickSort.hs, interpreted )
Ok, 1 module loaded.
*QuickSort> quicksort "haskell"
"aehklls"
*QuickSort> debugView

debugView を呼ぶと Webブラウザが起動して、記録されたデバッグの結果を見ることができます。こんな感じです。

debugView の実行結果
debugView の実行結果

ここから、計算の経過をクリックしつつ探すことができます。

私は debug を使った感想や、これを改善できるようなアイディアを求めています。そのため、フィードバックやバグトラッカー経由のお手伝いなどをお待ちしています。

また別の Haskell のデバッガに興味があるのなら、GHCi デバッガHood/Hoed などを試してみるべきでしょう。