diff --git a/Text/ParserCombinators/MTLParse.hs b/Text/ParserCombinators/MTLParse.hs
--- a/Text/ParserCombinators/MTLParse.hs
+++ b/Text/ParserCombinators/MTLParse.hs
@@ -47,7 +47,7 @@
 ) where
 
 import Text.ParserCombinators.MTLParse.MTLParseCore
-import Control.Monad( replicateM, liftM )
+import Control.Monad( replicateM )
 
 tokens, tokensBack :: ( Eq a, MonadParse a m ) => [ a ] -> m [ a ]
 tokens     = foldr ( (>:>).token     ) $ return []
diff --git a/Text/ParserCombinators/MTLParse/MTLParseCore.hs b/Text/ParserCombinators/MTLParse/MTLParseCore.hs
--- a/Text/ParserCombinators/MTLParse/MTLParseCore.hs
+++ b/Text/ParserCombinators/MTLParse/MTLParseCore.hs
@@ -65,7 +65,8 @@
 
 ) where
 
-import Control.Monad        ( MonadPlus, mplus, mzero, liftM     )
+import Control.Applicative  ( Applicative(..)                    )
+import Control.Monad        ( MonadPlus, mplus, mzero, liftM, ap )
 import Control.Monad.Trans  ( MonadTrans( lift ),
                               MonadIO, liftIO                    )
 import Control.Monad.Reader ( MonadReader( ask, local ),
@@ -122,6 +123,9 @@
 
 instance Functor ( Parse p ) where
   fmap f m = Parse $ liftM ( first f ) . runParse m
+
+instance Applicative ( Parse p ) where
+  pure = return; (<*>) = ap
 
 instance Monad ( Parse a ) where
   return = Parse . \val inp -> [ (val, inp) ]
diff --git a/mtlparse.cabal b/mtlparse.cabal
--- a/mtlparse.cabal
+++ b/mtlparse.cabal
@@ -1,5 +1,5 @@
 Name:		mtlparse
-Version:	0.1.2
+Version:	0.1.3.0
 License:	LGPL
 License-File:	LICENSE
 Author:		Yoshikuni Jujo <PAF01143@nifty.ne.jp>
