diff --git a/cbits/HeapView.c b/cbits/HeapView.c
--- a/cbits/HeapView.c
+++ b/cbits/HeapView.c
@@ -62,7 +62,7 @@
  [RET_BCO]               = "RET_BCO",
  [RET_SMALL]             = "RET_SMALL",
  [RET_BIG]               = "RET_BIG",
-#ifndef GHC_7_7
+#if !defined(GHC_7_7) && !defined(GHC_8_0)
  [RET_DYN]               = "RET_DYN",
 #endif
  [RET_FUN]               = "RET_FUN",
@@ -74,7 +74,7 @@
  [BLOCKING_QUEUE]        = "BLOCKING_QUEUE",
  [MVAR_CLEAN]            = "MVAR_CLEAN",
  [MVAR_DIRTY]            = "MVAR_DIRTY",
-#ifdef GHC_7_7
+#if defined(GHC_7_7) || defined(GHC_8_0)
  [TVAR]                  = "TVAR",
 #endif
  [ARR_WORDS]             = "ARR_WORDS",
diff --git a/ghc-heap-view.cabal b/ghc-heap-view.cabal
--- a/ghc-heap-view.cabal
+++ b/ghc-heap-view.cabal
@@ -1,9 +1,11 @@
 Name:                ghc-heap-view
-Version:             0.5.4
+Version:             0.5.6
 Synopsis:            Extract the heap representation of Haskell values and thunks
 Description:
   This library provides functions to introspect the Haskell heap, for example
-  to investigate sharing and lazy evaluation.
+  to investigate sharing and lazy evaluation. As this is tied to the internals
+  of the compiler,it only works with specific versions. Currently, GHC 7.4
+  through 7.10 should be supported.
   .
   It has been inspired by (and taken code from) the vacuum package and the GHCi
   debugger, but also allows to investiage thunks and other closures. 
@@ -56,26 +58,35 @@
 
 Flag ghc_7_7
 
+Flag ghc_8_0
+
 Library
   Default-Language:    Haskell2010
   Exposed-modules:
-    GHC.HeapView 
-    GHC.AssertNF 
+    GHC.HeapView
+    GHC.AssertNF
     GHC.Disassembler
     GHC.HeapView.Debug
   Build-depends:
-    base >= 4.5 && < 4.9,
+    base >= 4.5 && < 4.10,
     containers,
     transformers,
     template-haskell,
     bytestring >= 0.10,
     binary
+
   if flag(ghc_7_7)
-    build-depends: ghc >= 7.7
+    build-depends: ghc >= 7.7 && < 8
     cc-options: -DGHC_7_7
     cpp-options: -DGHC_7_7
   else
-    build-depends: ghc < 7.7
+    if flag(ghc_8_0)
+      build-depends: ghc >= 8
+      cc-options: -DGHC_8_0
+      cpp-options: -DGHC_8_0
+    else
+      build-depends: ghc < 7.7
+
   C-Sources: cbits/HeapView.c cbits/HeapViewPrim.cmm
   Hs-source-dirs: src/
   Ghc-options: -Wall
diff --git a/src/GHC/Disassembler.hs b/src/GHC/Disassembler.hs
--- a/src/GHC/Disassembler.hs
+++ b/src/GHC/Disassembler.hs
@@ -299,8 +299,11 @@
     | BCITESTEQ_W Word Int
     deriving (Show, Functor, Traversable, Foldable)
 
+#if MIN_VERSION_binary(0,8,1)
+#else
 getInthost :: Get Int
 getInthost = fromIntegral <$> getWordhost
 
 getInt16host :: Get Int16
 getInt16host = fromIntegral <$> getWord16host
+#endif
diff --git a/src/GHC/HeapView.hs b/src/GHC/HeapView.hs
--- a/src/GHC/HeapView.hs
+++ b/src/GHC/HeapView.hs
@@ -207,72 +207,72 @@
    <http://hackage.haskell.org/trac/ghc/browser/includes/rts/storage/ClosureTypes.h>
  -}
 data ClosureType =
-	  INVALID_OBJECT
-	| CONSTR
-	| CONSTR_1_0
-	| CONSTR_0_1
-	| CONSTR_2_0
-	| CONSTR_1_1
-	| CONSTR_0_2
-	| CONSTR_STATIC
-	| CONSTR_NOCAF_STATIC
-	| FUN
-	| FUN_1_0
-	| FUN_0_1
-	| FUN_2_0
-	| FUN_1_1
-	| FUN_0_2
-	| FUN_STATIC
-	| THUNK
-	| THUNK_1_0
-	| THUNK_0_1
-	| THUNK_2_0
-	| THUNK_1_1
-	| THUNK_0_2
-	| THUNK_STATIC
-	| THUNK_SELECTOR
-	| BCO
-	| AP
-	| PAP
-	| AP_STACK
-	| IND
-	| IND_PERM
-	| IND_STATIC
-	| RET_BCO
-	| RET_SMALL
-	| RET_BIG
-#ifndef GHC_7_7
-	| RET_DYN
+          INVALID_OBJECT
+        | CONSTR
+        | CONSTR_1_0
+        | CONSTR_0_1
+        | CONSTR_2_0
+        | CONSTR_1_1
+        | CONSTR_0_2
+        | CONSTR_STATIC
+        | CONSTR_NOCAF_STATIC
+        | FUN
+        | FUN_1_0
+        | FUN_0_1
+        | FUN_2_0
+        | FUN_1_1
+        | FUN_0_2
+        | FUN_STATIC
+        | THUNK
+        | THUNK_1_0
+        | THUNK_0_1
+        | THUNK_2_0
+        | THUNK_1_1
+        | THUNK_0_2
+        | THUNK_STATIC
+        | THUNK_SELECTOR
+        | BCO
+        | AP
+        | PAP
+        | AP_STACK
+        | IND
+        | IND_PERM
+        | IND_STATIC
+        | RET_BCO
+        | RET_SMALL
+        | RET_BIG
+#if !defined(GHC_7_7) && !defined(GHC_8_0)
+        | RET_DYN
 #endif
-	| RET_FUN
-	| UPDATE_FRAME
-	| CATCH_FRAME
-	| UNDERFLOW_FRAME
-	| STOP_FRAME
-	| BLOCKING_QUEUE
-	| BLACKHOLE
-	| MVAR_CLEAN
-	| MVAR_DIRTY
-#ifdef GHC_7_7
-	| TVAR
+        | RET_FUN
+        | UPDATE_FRAME
+        | CATCH_FRAME
+        | UNDERFLOW_FRAME
+        | STOP_FRAME
+        | BLOCKING_QUEUE
+        | BLACKHOLE
+        | MVAR_CLEAN
+        | MVAR_DIRTY
+#if defined(GHC_7_7) || defined(GHC_8_0)
+        | TVAR
 #endif
-	| ARR_WORDS
-	| MUT_ARR_PTRS_CLEAN
-	| MUT_ARR_PTRS_DIRTY
-	| MUT_ARR_PTRS_FROZEN0
-	| MUT_ARR_PTRS_FROZEN
-	| MUT_VAR_CLEAN
-	| MUT_VAR_DIRTY
-	| WEAK
-	| PRIM
-	| MUT_PRIM
-	| TSO
-	| STACK
-	| TREC_CHUNK
-	| ATOMICALLY_FRAME
-	| CATCH_RETRY_FRAME
-	| CATCH_STM_FRAME
-	| WHITEHOLE
+        | ARR_WORDS
+        | MUT_ARR_PTRS_CLEAN
+        | MUT_ARR_PTRS_DIRTY
+        | MUT_ARR_PTRS_FROZEN0
+        | MUT_ARR_PTRS_FROZEN
+        | MUT_VAR_CLEAN
+        | MUT_VAR_DIRTY
+        | WEAK
+        | PRIM
+        | MUT_PRIM
+        | TSO
+        | STACK
+        | TREC_CHUNK
+        | ATOMICALLY_FRAME
+        | CATCH_RETRY_FRAME
+        | CATCH_STM_FRAME
+        | WHITEHOLE
  deriving (Show, Eq, Enum, Ord)
 
 {-| This is the main data type of this module, representing a Haskell value on
