diff --git a/Language/Haskell/Lexer/Lex.hs b/Language/Haskell/Lexer/Lex.hs
--- a/Language/Haskell/Lexer/Lex.hs
+++ b/Language/Haskell/Lexer/Lex.hs
@@ -1,6 +1,7 @@
-{-# OPTIONS_GHC -w #-}    -- too many warnings
+
 -- Automatically generated code for a DFA follows:
 --Equal states: [[[2,3],[8,9],[5,31],[10,11],[36,37],[39,40]]]
+{-# OPTIONS_GHC -O #-}
 module Language.Haskell.Lexer.Lex (haskellLex) where
 import Data.Char
 import Language.Haskell.Lexer.Utils
@@ -31,28 +32,6 @@
     '*' -> 7
     '/' -> 7
     '?' -> 7
-    '\161' -> 7
-    '\162' -> 7
-    '\163' -> 7
-    '\164' -> 7
-    '\165' -> 7
-    '\166' -> 7
-    '\167' -> 7
-    '\168' -> 7
-    '\169' -> 7
-    '\172' -> 7
-    '\173' -> 7
-    '\174' -> 7
-    '\175' -> 7
-    '\176' -> 7
-    '\177' -> 7
-    '\180' -> 7
-    '\182' -> 7
-    '\183' -> 7
-    '\184' -> 7
-    '\191' -> 7
-    '\215' -> 7
-    '\247' -> 7
     '"' -> 8
     '&' -> 9
     '\'' -> 10
@@ -124,38 +103,6 @@
     'k' -> 60
     'q' -> 60
     'z' -> 60
-    '\223' -> 60
-    '\224' -> 60
-    '\225' -> 60
-    '\226' -> 60
-    '\227' -> 60
-    '\228' -> 60
-    '\229' -> 60
-    '\230' -> 60
-    '\231' -> 60
-    '\232' -> 60
-    '\233' -> 60
-    '\234' -> 60
-    '\235' -> 60
-    '\236' -> 60
-    '\237' -> 60
-    '\238' -> 60
-    '\239' -> 60
-    '\240' -> 60
-    '\241' -> 60
-    '\242' -> 60
-    '\243' -> 60
-    '\244' -> 60
-    '\245' -> 60
-    '\246' -> 60
-    '\248' -> 60
-    '\249' -> 60
-    '\250' -> 60
-    '\251' -> 60
-    '\252' -> 60
-    '\253' -> 60
-    '\254' -> 60
-    '\255' -> 60
     'l' -> 61
     'm' -> 62
     'n' -> 63
@@ -172,50 +119,104 @@
     '{' -> 74
     '|' -> 75
     '~' -> 75
+    '\161' -> 76
+    '\162' -> 76
+    '\163' -> 76
+    '\164' -> 76
+    '\165' -> 76
+    '\166' -> 76
+    '\167' -> 76
+    '\168' -> 76
+    '\169' -> 76
     '\170' -> 76
     '\171' -> 76
+    '\172' -> 76
+    '\173' -> 76
+    '\174' -> 76
+    '\175' -> 76
+    '\176' -> 76
+    '\177' -> 76
     '\178' -> 76
     '\179' -> 76
+    '\180' -> 76
     '\181' -> 76
+    '\182' -> 76
+    '\183' -> 76
+    '\184' -> 76
     '\185' -> 76
     '\186' -> 76
     '\187' -> 76
     '\188' -> 76
     '\189' -> 76
     '\190' -> 76
-    '\192' -> 77
-    '\193' -> 77
-    '\194' -> 77
-    '\195' -> 77
-    '\196' -> 77
-    '\197' -> 77
-    '\198' -> 77
-    '\199' -> 77
-    '\200' -> 77
-    '\201' -> 77
-    '\202' -> 77
-    '\203' -> 77
-    '\204' -> 77
-    '\205' -> 77
-    '\206' -> 77
-    '\207' -> 77
-    '\208' -> 77
-    '\209' -> 77
-    '\210' -> 77
-    '\211' -> 77
-    '\212' -> 77
-    '\213' -> 77
-    '\214' -> 77
-    '\216' -> 77
-    '\217' -> 77
-    '\218' -> 77
-    '\219' -> 77
-    '\220' -> 77
-    '\221' -> 77
-    '\222' -> 77
+    '\191' -> 76
+    '\192' -> 76
+    '\193' -> 76
+    '\194' -> 76
+    '\195' -> 76
+    '\196' -> 76
+    '\197' -> 76
+    '\198' -> 76
+    '\199' -> 76
+    '\200' -> 76
+    '\201' -> 76
+    '\202' -> 76
+    '\203' -> 76
+    '\204' -> 76
+    '\205' -> 76
+    '\206' -> 76
+    '\207' -> 76
+    '\208' -> 76
+    '\209' -> 76
+    '\210' -> 76
+    '\211' -> 76
+    '\212' -> 76
+    '\213' -> 76
+    '\214' -> 76
+    '\215' -> 76
+    '\216' -> 76
+    '\217' -> 76
+    '\218' -> 76
+    '\219' -> 76
+    '\220' -> 76
+    '\221' -> 76
+    '\222' -> 76
+    '\223' -> 76
+    '\224' -> 76
+    '\225' -> 76
+    '\226' -> 76
+    '\227' -> 76
+    '\228' -> 76
+    '\229' -> 76
+    '\230' -> 76
+    '\231' -> 76
+    '\232' -> 76
+    '\233' -> 76
+    '\234' -> 76
+    '\235' -> 76
+    '\236' -> 76
+    '\237' -> 76
+    '\238' -> 76
+    '\239' -> 76
+    '\240' -> 76
+    '\241' -> 76
+    '\242' -> 76
+    '\243' -> 76
+    '\244' -> 76
+    '\245' -> 76
+    '\246' -> 76
+    '\247' -> 76
+    '\248' -> 76
+    '\249' -> 76
+    '\250' -> 76
+    '\251' -> 76
+    '\252' -> 76
+    '\253' -> 76
+    '\254' -> 76
+    '\255' -> 76
     c | isAscii c -> 0
       | isSpace c -> 3
-      | isSymbol c -> 7
+      | (\x -> isSymbol x || isPunctuation x) c -> 7
       | isDigit c -> 18
       | isLower c -> 60
       | isUpper c -> 77
diff --git a/haskell-lexer.cabal b/haskell-lexer.cabal
--- a/haskell-lexer.cabal
+++ b/haskell-lexer.cabal
@@ -1,5 +1,5 @@
 Name:           haskell-lexer
-Version:        1.0
+Version:        1.0.1
 License:        BSD3
 License-file:   LICENSE
 Author:         Thomas Hallgren
@@ -7,7 +7,7 @@
 Category:       Language
 Synopsis:       A fully compliant Haskell 98 lexer.
 Description:    A fully compliant Haskell 98 lexer.
-Build-Depends:  base
+Build-Depends:  base < 6
 Build-type:     Simple
 Extra-source-files: LICENSE
 Exposed-modules:  Language.Haskell.Lexer
