Posted on January 29, 2018 authored by Shinya Yamaguchi はじめに HLint は haskell-src-exts を使って実装されている静的解析ツールです。 HLint を使えば github などを使って PR ベースで開発する場合のコードレビューでこんな事を言わなくて済みます。 fromJust とかの部分関数は使わないで! maybe 関数って知ってる? この言語拡張って本当に使ってるの? undefined まだ残ってるじゃん! 嬉しいことに Travis CI や CircleCI などで一度設定するだけなので導入もお手軽です! また、最近知ったのですが、プロジェクト内で使って欲しくない関数なども HLint によって検出可能です。 さらに、独学で Haskell の学習を進めている人は HLint が素晴らしい教師役とな
この一文は、foldr (\c a -> x : a) [] を見たときに、map (\c -> x) を警告で提案する、という意味です。次に、HLint のマッチングエンジンは、このテンプレートをプログラム中の全ての部分式に適用します。ここからは、そのときに HLint が実行するステップを説明していきます。 ステップ1: 単一化 最初のステップは、foldr (\c a -> x : a) [] というテンプレートの単一化です。foldr (\curr acc -> (+1) curr : acc) [] のような、ユーザの部分式に対して行われます。HLint はテンプレート中の 1文字の変数 (c, a, x など) への代入ができる部分を探していき、部分式にマッチさせようとします。この単一化はトップダウンで進行し、マッチしないものが現れた段階で (例えば foldl など) その単
3年前ぐらいからHaskellを書くときには, stylish-haskellとhlintを使ってコードを書いています. これらを使うと, 私のようにツールに頼ってコードを書いているだけでも「コードが綺麗」と褒めてくれるようになります. しめしめ. 他にHaskellを書く時に良いツールがあれば是非教えてください. jaspervdj/stylish-haskell: Haskell code prettifier stack install stylish-haskellでインストール可能です. stylish-haskellはコード整形ツールです. このツールは importの揃え プラグマの揃え, 及び不要なプラグマの削除 無意味な空白の削除 レコードの縦揃え パターンマッチの揃え などをしてくれます. 詳しくは公式サイトを見るのが良いと思います. この記事いる? この中でもimpo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く