You don't have javascript enabled. Good luck! :(

HLint のヒント

最終更新日: 2018/02/12

stack プロジェクトで HLint になれよう!

以下のように stack new で新規プロジェクトを作ってすぐの状態では HLint は何もヒントを出してくれません。

つまり、とても良い状態ということです。

$ stacke new test-proj
$ cd test-proj

$ hlint .
No hints

ここで、ファイルを少し修正して HLint に働いてもらいましょう!

ヒントの種類

上記のコードは以下のようなヒントを2つ提案してくれます。

$ hlint .
./src/Lib.hs:7:12: Warning: Use concatMap
Found:
  concat (map toUpper ['a' .. 'z'])
Why not:
  concatMap toUpper ['a' .. 'z']

./src/Lib.hs:8:12: Warning: Use fromMaybe
Found:
  maybe "" id
Why not:
  Data.Maybe.fromMaybe ""

2 hints

これは、このような意味になります。

素晴らしいですね。とてもわかりやすいです。

ここで紹介したヒント以外にもデフォルトでいくつも有用なヒントが用意されているため、実際に色々使ってみると楽しいです。

HTML で結果を出力

--report オプションを利用することで結果を HTML として出力することも可能です。

$ hlint . --report
...

とても素晴らしいのですが、HLint の提案するヒントに賛成できない時はどうしましょう? もし HLint の言うとおりにしかできないのであれば、とても使いづらいツールになってしまいます。

そういった場合のためにルールを無視する方法も用意されています。また、プロジェクト固有のカスタムヒントについても同様に設定方法が用意されています。