diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,8 @@
+Changes from 0.7.0.2 to 0.8
+---------------------------
+
+* GHC-7.10/AMP compatibility
+
 Changes from 0.7.0.1 to 0.7.0.2
 -------------------------------
 
diff --git a/Data/Encoding/ByteSink.hs b/Data/Encoding/ByteSink.hs
--- a/Data/Encoding/ByteSink.hs
+++ b/Data/Encoding/ByteSink.hs
@@ -11,6 +11,7 @@
 import Data.Foldable (toList)
 import Control.Throws
 import Control.Exception.Extensible
+import Control.Applicative
 import Control.Monad.State
 import Control.Monad.Identity
 import Control.Monad.Reader
@@ -80,6 +81,13 @@
 
 newtype PutME a = PutME (Either EncodingException (PutM (),a))
 
+instance Functor PutME where
+  fmap = liftM
+
+instance Applicative PutME where
+  pure = return
+  (<*>) = ap
+
 instance Monad PutME where
     return x = PutME $ Right (return (),x)
     (PutME x) >>= g = PutME $ do
@@ -114,6 +122,13 @@
 
 newtype StrictSink a = StrictS (Ptr Word8 -> Int -> Int -> IO (a,Ptr Word8,Int,Int))
 
+instance Functor StrictSink where
+  fmap = liftM
+
+instance Applicative StrictSink where
+  pure = return
+  (<*>) = ap
+
 instance Monad StrictSink where
     return x = StrictS $ \cstr pos max -> return (x,cstr,pos,max)
     (StrictS f) >>= g = StrictS (\cstr pos max -> do
@@ -140,6 +155,13 @@
 
 newtype StrictSinkE a = StrictSinkE (StrictSink (Either EncodingException a))
 
+instance Functor StrictSinkE where
+  fmap = liftM
+
+instance Applicative StrictSinkE where
+  pure = return
+  (<*>) = ap
+
 instance Monad StrictSinkE where
     return = StrictSinkE . return . Right
     (StrictSinkE s) >>= g = StrictSinkE $ do
@@ -166,6 +188,13 @@
 createStrict sink = createStrictWithLen sink 32
 
 newtype StrictSinkExplicit a = StrictSinkExplicit  (StrictSink (Either EncodingException a))
+
+instance Functor StrictSinkExplicit where
+  fmap = liftM
+
+instance Applicative StrictSinkExplicit where
+  pure = return
+  (<*>) = ap
 
 instance Monad StrictSinkExplicit where
     return = (StrictSinkExplicit).return.Right
diff --git a/encoding.cabal b/encoding.cabal
--- a/encoding.cabal
+++ b/encoding.cabal
@@ -1,5 +1,5 @@
 Name:		encoding
-Version:	0.7.0.2
+Version:	0.8
 Author:		Henning Günther
 Maintainer:	daniel@wagner-home.com
 License:	BSD3
@@ -34,10 +34,10 @@
 Source-Repository this
   Type:			darcs
   Location:		http://code.haskell.org/encoding
-  Tag:			0.7.0.2
+  Tag:			0.8
 
 Library
-  Build-Depends:	binary < 0.8, extensible-exceptions, HaXml >= 1.22 && < 1.25
+  Build-Depends:	binary < 0.8, extensible-exceptions, HaXml >= 1.22 && < 1.26
   if flag(splitBase)
     Build-Depends:	bytestring, base >= 3 && < 5, mtl, containers, array, regex-compat
     if impl(ghc >= 6.10)
