diff --git a/ajhc.cabal b/ajhc.cabal
--- a/ajhc.cabal
+++ b/ajhc.cabal
@@ -1,14 +1,15 @@
 cabal-version: >= 1.6
 name:          ajhc
 build-type:    Custom
-version:       0.8.0.3
+version:       0.8.0.4
 license:       GPL-2
 license-file:  COPYING
 category:      Compiler
 author:        John Meacham <john@repetae.net>
 maintainer:    Kiwamu Okabe <kiwamu@debian.or.jp>
 synopsis:      Haskell compiler that produce binary through C language
-description:   The jhc is a haskell compiler which aims to produce the most efficient
+description:   Ajhc is a fork of jhc.
+               The jhc is a haskell compiler which aims to produce the most efficient
                programs possible via whole program analysis and other optimizations.
                .
                The jhc is very minimalist in that it does not have a precompiled run time
@@ -22,7 +23,7 @@
 extra-source-files:
     examples/*.hs rts/HsFFI.h Makefile.cabalinst library_deps.make src/data/targets.ini
     src/StringTable/StringTable_cbits.h src/cbits/config.h src/hs_src_config.h
-    utils/build_extlibs.prl
+    src/data/Typeable.h utils/build_extlibs.prl
     lib/haskell-extras/Data/Bits.hs lib/haskell-extras/Data/Maybe.hs lib/haskell-extras/Data/Bits.m4 lib/haskell-extras/Data/IORef.hs lib/haskell-extras/Data/Monoid.hs lib/haskell-extras/Data/Int.hs lib/haskell-extras/Data/Typeable.hs lib/haskell-extras/Data/Functor.hs lib/haskell-extras/Data/Char.hs lib/haskell-extras/Data/Array/Unboxed.hs lib/haskell-extras/Data/Array/IO.hs lib/haskell-extras/Data/Complex.hs lib/haskell-extras/Data/Array.hs lib/haskell-extras/Data/Version.hs lib/haskell-extras/Data/Function.hs lib/haskell-extras/Data/List.hs lib/haskell-extras/Data/Unique.hs lib/haskell-extras/Data/Ix.hs lib/haskell-extras/Data/Dynamic.hs lib/haskell-extras/Data/Unicode.hs lib/haskell-extras/Data/Word.hs lib/haskell-extras/Prelude.hs lib/haskell-extras/haskell-extras.yaml.m4 lib/haskell-extras/Unsafe/Coerce.hs lib/haskell-extras/Foreign.hs lib/haskell-extras/Typeable.hs lib/haskell-extras/Debug/Trace.hs lib/haskell-extras/System/IO/Pipe.hs lib/haskell-extras/System/IO/Binary.hs lib/haskell-extras/System/IO/Error.hs lib/haskell-extras/System/IO/Continuation.hs lib/haskell-extras/System/Random.hs lib/haskell-extras/System/Exit.hs lib/haskell-extras/System/Console/GetOpt.hs lib/haskell-extras/System/Time.hs lib/haskell-extras/System/Directory.hs lib/haskell-extras/System/CPUTime.hs lib/haskell-extras/System/Cmd.hs lib/haskell-extras/System/Environment.hs lib/haskell-extras/System/Info.hs lib/haskell-extras/System/IO.hs lib/haskell-extras/System/Locale.hs lib/haskell-extras/Text/Show/Functions.hs lib/haskell-extras/Text/Printf.hs lib/haskell-extras/Control/Monad/Fix.hs lib/haskell-extras/Control/Monad/Instances.hs lib/haskell-extras/Control/Exception.hs lib/haskell-extras/Control/Monad.hs lib/haskell-extras/Foreign/C.hs lib/haskell-extras/Foreign/ForeignPtr.hs lib/haskell-extras/Foreign/StablePtr.hs lib/haskell-extras/Foreign/Marshal/Pool.hs lib/haskell-extras/Foreign/Marshal/Error.hs lib/haskell-extras/Foreign/Marshal.hs lib/haskell98/Maybe.hs lib/haskell98/Random.hs lib/haskell98/Time.hs lib/haskell98/prologue.txt lib/haskell98/System.hs lib/haskell98/Ratio.hs lib/haskell98/Directory.hs lib/haskell98/CPUTime.hs lib/haskell98/haskell98.yaml lib/haskell98/Char.hs lib/haskell98/Complex.hs lib/haskell98/Array.hs lib/haskell98/List.hs lib/haskell98/IO.hs lib/haskell98/Ix.hs lib/haskell98/Monad.hs lib/haskell98/Locale.hs lib/haskell98/LICENSE lib/flat-foreign/Bits.hs lib/flat-foreign/Ptr.hs lib/flat-foreign/MarshalAlloc.hs lib/flat-foreign/MarshalError.hs lib/flat-foreign/Storable.hs lib/flat-foreign/CForeign.hs lib/flat-foreign/ForeignPtr.hs lib/flat-foreign/Int.hs lib/flat-foreign/StablePtr.hs lib/flat-foreign/MarshalArray.hs lib/flat-foreign/flat-foreign.yaml lib/flat-foreign/MarshalUtils.hs lib/flat-foreign/CTypes.hs lib/flat-foreign/Word.hs lib/flat-foreign/CError.hs lib/flat-foreign/CString.hs lib/applicative/Data/Foldable.hs lib/applicative/Data/Traversable.hs lib/applicative/Control/Applicative.hs lib/applicative/Control/Arrow.hs lib/applicative/Control/Category.hs lib/applicative/applicative.yaml lib/jhc/Numeric.hs lib/jhc/Data/Ratio.hs lib/jhc/Jhc/Order.hs lib/jhc/Jhc/Numeric.hs lib/jhc/Jhc/Maybe.hs lib/jhc/Jhc/Inst/Order.hs lib/jhc/Jhc/Inst/Storable.hs lib/jhc/Jhc/Inst/Show.hs lib/jhc/Jhc/Inst/PrimEnum.hs lib/jhc/Jhc/Inst/Enum.hs lib/jhc/Jhc/Inst/Num.hs lib/jhc/Jhc/Inst/Read.hs lib/jhc/Jhc/Enum.m4 lib/jhc/Jhc/Hole.hs lib/jhc/Jhc/String.hs lib/jhc/Jhc/Prim.hs lib/jhc/Jhc/Options.hs lib/jhc/Jhc/Show.hs lib/jhc/Jhc/Handle.hs lib/jhc/Jhc/ForeignPtr.hs lib/jhc/Jhc/Type/C.hs lib/jhc/Jhc/Type/Ptr.hs lib/jhc/Jhc/Type/Basic.hs lib/jhc/Jhc/Type/Handle.hs lib/jhc/Jhc/Type/Float.hs lib/jhc/Jhc/Type/Word.hs lib/jhc/Jhc/ACIO.hs lib/jhc/Jhc/JumpPoint.hs lib/jhc/Jhc/Int.hs lib/jhc/Jhc/Class/Real.hs lib/jhc/Jhc/Class/Ord.hs lib/jhc/Jhc/Class/Num.hs lib/jhc/Jhc/Float.hs lib/jhc/Jhc/Text/Read.hs lib/jhc/Jhc/Num.m4 lib/jhc/Jhc/List.hs lib/jhc/Jhc/Enum.hs lib/jhc/Jhc/IO.hs lib/jhc/Jhc/Order.m4 lib/jhc/Jhc/Monad.hs lib/jhc/Jhc/Addr.hs lib/jhc/Jhc/Basics.hs lib/jhc/Jhc/Num.hs lib/jhc/Jhc/Tuples.hs lib/jhc/System/IO/Unsafe.hs lib/jhc/System/Mem/StableName.hs lib/jhc/System/C/Stdio.hs lib/jhc/System/Mem.hs lib/jhc/Prelude/CType.hs lib/jhc/Prelude/Text.hs lib/jhc/Prelude/Float.hs lib/jhc/Prelude/IO.hs lib/jhc/Foreign/Ptr.hs lib/jhc/Foreign/Storable.hs lib/jhc/Foreign/C/String.hs lib/jhc/Foreign/C/Types.hs lib/jhc/Foreign/C/Error.hs lib/jhc/Foreign/Storable.m4 lib/jhc/Foreign/Marshal/Alloc.hs lib/jhc/Foreign/Marshal/Utils.hs lib/jhc/Foreign/Marshal/Array.hs lib/jhc/jhc.yaml lib/jhc-prim/jhc-prim.yaml lib/jhc-prim/Jhc/Prim/Bits.hs lib/jhc-prim/Jhc/Prim/Prim.hs lib/jhc-prim/Jhc/Prim/Rts.hs lib/jhc-prim/Jhc/Prim/Array.hs lib/jhc-prim/Jhc/Prim/IO.hs lib/jhc-prim/Jhc/Prim/Wrapper.hs lib/haskell2010/haskell2010.yaml.m4 lib/ext/bytestring.patch lib/ext/smallcheck.cabal lib/ext/parsec.cabal lib/ext/containers.cabal lib/ext/utility-ht.cabal lib/ext/html.cabal lib/ext/filepath.cabal lib/ext/bytestring.yaml lib/ext/pretty.cabal lib/ext/HUnit.cabal lib/ext/transformers.cabal lib/ext/deepseq.cabal lib/ext/xhtml.cabal lib/ext/Diff.cabal lib/ext/containers.patch lib/ext/QuickCheck.cabal lib/ext/safe.cabal 
 
 source-repository head
diff --git a/src/RawFiles.hs b/src/RawFiles.hs
--- a/src/RawFiles.hs
+++ b/src/RawFiles.hs
@@ -143,7 +143,7 @@
  \cc=gcc\n\
  \gc=jgc\n\
  \cflags=-std=gnu99 -D_GNU_SOURCE -falign-functions=4 -ffast-math -Wextra -Wall -Wno-unused-parameter -fno-strict-aliasing\n\
- \cflags_debug=-g\n\
+ \cflags_debug=-g -lm\n\
  \cflags_nodebug=-DNDEBUG -O3\n\
  \profile=false\n\
  \autoload=haskell2010,haskell-extras,haskell98\n\
@@ -1059,6 +1059,78 @@
 {-# NOINLINE changelog #-}
 changelog :: ByteString
 changelog = unsafePerformIO $ unsafePackAddress "\
+ \commit 474ebd5aa9dc6497f078b8b1999f0cb8d1b2b85f\n\
+ \Author: Kiwamu Okabe <kiwamu@debian.or.jp>\n\
+ \Date:   Thu Apr 4 02:17:45 2013 +0900\n\
+ \\n\
+ \    Add Ajhc 0.8.0.4 Release Notes.\n\
+ \\n\
+ \commit b528b5887e5110b450fae206282c05b411c705f9\n\
+ \Author: Kiwamu Okabe <kiwamu@debian.or.jp>\n\
+ \Date:   Thu Apr 4 01:28:45 2013 +0900\n\
+ \\n\
+ \    Remove test code for travis-ci.\n\
+ \\n\
+ \commit b115146bc0d8965b134a7f232070d45c5700bcdc\n\
+ \Author: Kiwamu Okabe <kiwamu@debian.or.jp>\n\
+ \Date:   Thu Apr 4 01:12:52 2013 +0900\n\
+ \\n\
+ \    Need src/data/Typeable.h to cabal install.\n\
+ \\n\
+ \commit e6235203a7b0a3e2b7ce0d7ad6cf6c676218e110\n\
+ \Author: Kiwamu Okabe <kiwamu@debian.or.jp>\n\
+ \Date:   Thu Apr 4 01:11:37 2013 +0900\n\
+ \\n\
+ \    Need git fetch --tags ???\n\
+ \\n\
+ \commit 7f6b19aae69d381815bb079b711f4325d2a74314\n\
+ \Author: Kiwamu Okabe <kiwamu@debian.or.jp>\n\
+ \Date:   Thu Apr 4 00:32:47 2013 +0900\n\
+ \\n\
+ \    Test for travis-ci.\n\
+ \\n\
+ \commit ab602755997049b29128105203ab8c14349ac7fa\n\
+ \Author: Kiwamu Okabe <kiwamu@debian.or.jp>\n\
+ \Date:   Wed Apr 3 23:39:53 2013 +0900\n\
+ \\n\
+ \    Git 1.8.2 can not use \"HEAD\" for git log????\n\
+ \\n\
+ \commit 7d6768f60c403063b25704b628f5b26f1707229f\n\
+ \Author: Kiwamu Okabe <kiwamu@debian.or.jp>\n\
+ \Date:   Wed Apr 3 23:09:32 2013 +0900\n\
+ \\n\
+ \    Why error on travis-ci? Retry with printing git version.\n\
+ \\n\
+ \commit be19711376deac341f0fccd505daf3ab57e0fc5f\n\
+ \Author: Kiwamu Okabe <kiwamu@debian.or.jp>\n\
+ \Date:   Wed Apr 3 21:41:59 2013 +0900\n\
+ \\n\
+ \    Need -lm option with compiling -fdebug to pass large/RayT regress test.\n\
+ \\n\
+ \commit 6f88fadf0c064de119e5a309ee27cfa272adad97\n\
+ \Author: Kiwamu Okabe <kiwamu@debian.or.jp>\n\
+ \Date:   Wed Apr 3 19:30:29 2013 +0900\n\
+ \\n\
+ \    Need libgc-dev and gcc-multilib package to run regress test.\n\
+ \\n\
+ \commit 5b71f46786616d395ecdf898865d7f8c11b5c0ce\n\
+ \Author: Kiwamu Okabe <kiwamu@debian.or.jp>\n\
+ \Date:   Wed Apr 3 18:39:36 2013 +0900\n\
+ \\n\
+ \    Explain Ajhc position on cabal description.\n\
+ \\n\
+ \commit a6f971f39d89b2d6ebf44bfb6f9b0d1591dd6161\n\
+ \Author: Kiwamu Okabe <kiwamu@debian.or.jp>\n\
+ \Date:   Wed Apr 3 05:12:41 2013 +0900\n\
+ \\n\
+ \    Bump up version 0.8.0.4.\n\
+ \\n\
+ \commit eb0874f9543a8db6aa7eafe3d072a8d579b0b184\n\
+ \Author: Kiwamu Okabe <kiwamu@debian.or.jp>\n\
+ \Date:   Wed Apr 3 05:00:19 2013 +0900\n\
+ \\n\
+ \    downcase\n\
+ \\n\
  \commit 22787aa809d94c8642bc578d768045fb607f282e\n\
  \Author: Kiwamu Okabe <kiwamu@debian.or.jp>\n\
  \Date:   Wed Apr 3 03:14:54 2013 +0900\n\
@@ -1753,7 +1825,7 @@
 {-# NOINLINE shortchange_txt #-}
 shortchange_txt :: ByteString
 shortchange_txt = unsafePerformIO $ unsafePackAddress "\
- \22787aa809d94c8642bc578d768045fb607f282e\
+ \474ebd5aa9dc6497f078b8b1999f0cb8d1b2b85f\
  \"#
 
 -- | Generated from rts\/rts\/slub.c
diff --git a/src/Version/Config.hs b/src/Version/Config.hs
--- a/src/Version/Config.hs
+++ b/src/Version/Config.hs
@@ -1,7 +1,7 @@
 module Version.Config where
 
 shortVersion = "0.8"
-version = "0.8.0.3"
+version = "0.8.0.4"
 package = "ajhc"
 libdir  = "/usr/local/lib"
 datadir = "/usr/local/share"
diff --git a/src/data/Typeable.h b/src/data/Typeable.h
new file mode 100644
--- /dev/null
+++ b/src/data/Typeable.h
@@ -0,0 +1,18 @@
+#ifndef _JHC_TYPEABLE_H
+#define _JHC_TYPEABLE_H
+
+
+-- // This file is for backwards compatability with libraries that depend on the ghc internal typeable mechanism
+
+
+#define INSTANCE_TYPEABLE0(tycon,y,z) deriving instance Typeable tycon
+
+#define INSTANCE_TYPEABLE1(tycon,y,z) deriving instance Typeable1 tycon
+
+#define INSTANCE_TYPEABLE2(tycon,y,z) deriving instance Typeable2 tycon
+
+#define INSTANCE_TYPEABLE3(tycon,y,z) deriving instance Typeable3 tycon
+
+#define INSTANCE_TYPEABLE4(tycon,y,z) deriving instance Typeable4 tycon
+
+#endif
diff --git a/src/data/targets.ini b/src/data/targets.ini
--- a/src/data/targets.ini
+++ b/src/data/targets.ini
@@ -17,7 +17,7 @@
 cc=gcc
 gc=jgc
 cflags=-std=gnu99 -D_GNU_SOURCE -falign-functions=4 -ffast-math -Wextra -Wall -Wno-unused-parameter -fno-strict-aliasing
-cflags_debug=-g
+cflags_debug=-g -lm
 cflags_nodebug=-DNDEBUG -O3
 profile=false
 autoload=haskell2010,haskell-extras,haskell98
