diff --git a/Decimal.cabal b/Decimal.cabal
--- a/Decimal.cabal
+++ b/Decimal.cabal
@@ -1,5 +1,5 @@
 Name:                Decimal
-Version:             0.2.1
+Version:             0.2.2
 License:             BSD3
 License-file:        LICENSE.txt
 Copyright:           Paul Johnson, 2011
@@ -21,7 +21,8 @@
                     base >= 4 && < 5,
                     QuickCheck >= 2.4
   hs-source-dirs:   src
-  default-language: Haskell2010
+  if impl(ghc >= 7.0.0)
+     default-language: Haskell2010
   ghc-options:      -Wall
   exposed-modules:  Data.Decimal
 
@@ -37,6 +38,9 @@
                    test-framework-hunit
   ghc-options:     -Wall -rtsopts
   hs-source-dirs:  src, src/Data, tests
+  -- The following lines trigger a bug in Hackage.  Uncommment for compilation on GHC 6.
+  -- if impl(ghc >= 7.0.0)
+  --      default-language: Haskell2010
   default-language: Haskell2010
   main-is:         Main.hs
 
diff --git a/README.txt b/README.txt
--- a/README.txt
+++ b/README.txt
@@ -37,3 +37,8 @@
 
 Fixed "base" dependency.
 Put test suite under "cabal test"
+
+Version 0.2.2
+-------------
+
+Minor fixes to allow compilation under other versions of GHC.
diff --git a/src/Data/Decimal.hs b/src/Data/Decimal.hs
--- a/src/Data/Decimal.hs
+++ b/src/Data/Decimal.hs
@@ -120,7 +120,7 @@
       (Decimal _ n2) = roundTo e d2
 
 
-instance (Integral i) => Show (DecimalRaw i) where
+instance (Integral i, Show i) => Show (DecimalRaw i) where
    showsPrec _ (Decimal e n)
        | e == 0     = (concat [signStr, strN] ++)
        | otherwise  = (concat [signStr, intPart, ".", fracPart] ++)
