Hatena::ブログ(Diary)

C++でゲームプログラミング

2012-09-14

[]Haskell で hlint を使用したコードチェック

Haskell のコードチェックを行う hlint というツールを試してみました。


[hlint のインストール]

$ cabal install happy
$ cabal install haskell-src-exts
$ cabal install hlint

cabal を使ってサクッとインストール


[テストコード]

-- main.hs

main = do
    print $ plus 1 2
    print $ plus3 4
    where
        plus = \a b -> a + b
        plus3 = \x -> plus 3 x

[出力]

$ hlint main.hs
D:\test\main.hs:28:17: Error: Redundant lambda
Found:
  plus = \ a b -> a + b
Why not:
  plus a b = a + b

D:\test\main.hs:28:24: Warning: Avoid lambda
Found:
  \ a b -> a + b
Why not:
  (+)

D:\test\main.hs:29:17: Error: Redundant lambda
Found:
  plus3 = \ x -> plus 3 x
Why not:
  plus3 x = plus 3 x

D:\test\main.hs:29:25: Warning: Avoid lambda
Found:
  \ x -> plus 3 x
Why not:
  plus 3

4 suggestions

こんな感じで問題になっている箇所を警告し、更に解決方法まで教えてくれます。

頭がいいですね。

面白そうなので watchdogs.vim にも定義を書いておこう。


[参照]

http://d.hatena.ne.jp/IwamotoTakashi/20100719/p1

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/osyo-manga/20120914/1347628691