diff --git a/lambda-calculator.cabal b/lambda-calculator.cabal
index 854fa753377f67cca9fd21940ef3c98a00166eff..d099f06469f39db3079b2540e1e5f98ff65d19b5 100644
--- a/lambda-calculator.cabal
+++ b/lambda-calculator.cabal
@@ -66,6 +66,15 @@ test-suite lambda-calculus-test
   ghc-options:         -threaded -rtsopts -with-rtsopts=-N
   default-language:    Haskell2010
 
+test-suite lambda-calculus-lint
+  type:                exitcode-stdio-1.0
+  hs-source-dirs:      test
+  main-is:             HLint.hs
+  build-depends:       base <= 5,
+                       hlint
+  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
+  default-language:    Haskell2010
+
 source-repository head
   type:     git
   location: https://github.com/sgillespie/lambda-calculus
diff --git a/test/HLint.hs b/test/HLint.hs
new file mode 100644
index 0000000000000000000000000000000000000000..260bf9ba344e2aacc121fa5137545fd8cf67bca3
--- /dev/null
+++ b/test/HLint.hs
@@ -0,0 +1,16 @@
+module Main (main) where
+
+import Language.Haskell.HLint (hlint)
+import System.Exit (exitFailure, exitSuccess)
+
+arguments :: [String]
+arguments = [ 
+  "app",
+  "src",
+  "test"
+  ]
+
+main :: IO ()
+main = hlint arguments >>= main'
+  where main' [] = exitSuccess
+        main' _  = exitFailure