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

HLint

最終更新日: 2018/02/12

はじめに

HLinthaskell-src-exts を使って実装されている静的解析ツールです。

HLint を使えば github などを使って PR ベースで開発する場合のコードレビューでこんな事を言わなくて済みます。

  • fromJust とかの部分関数は使わないで!
  • maybe 関数って知ってる?
  • この言語拡張って本当に使ってるの?
  • undefined まだ残ってるじゃん!

嬉しいことに Travis CICircleCI などで一度設定するだけなので導入もお手軽です! また、最近知ったのですが、プロジェクト内で使って欲しくない関数なども HLint によって検出可能です。

さらに、独学で Haskell の学習を進めている人は HLint が素晴らしい教師役となってくれるでしょう。

HLint の参考記事

HLint は割と有名なので日本語の解説記事がいくつかありました。

本格的に利用しようとすると、上記の解説記事では少し物足りません。具体的には以下の点が不足しています。

本記事では、これらの内容について解説を行います。HLint でどんなことが出来るかについては、上記の記事または公式リポジトリをご参考ください。

また、内部の仕組みについては、作者の Neil Mitchell さんの解説記事が参考になります。

まとめ

今回は紹介していませんが HLint のヒントを自動的に適用してくれる apply-refact というツールもあります。

使い方については各種ドキュメントをご確認ください。