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,7 @@
 
 ) where
 
-import Control.Applicative  ( Applicative(..)                    )
+import Control.Applicative  ( Applicative(..), Alternative(..)   )
 import Control.Monad        ( MonadPlus, mplus, mzero, liftM, ap )
 import Control.Monad.Trans  ( MonadTrans( lift ),
                               MonadIO, liftIO                    )
@@ -127,6 +127,10 @@
 instance Applicative ( Parse p ) where
   pure = return; (<*>) = ap
 
+instance Alternative (Parse p ) where
+  empty = mzero
+  (<|>) = mplus
+
 instance Monad ( Parse a ) where
   return = Parse . \val inp -> [ (val, inp) ]
   Parse pr >>= f
@@ -189,6 +193,13 @@
   fmap f m = ParseT $ \a -> do
                rets <- runParseT m a
 	       return [ ( f a', rst ) | ( a', rst ) <- rets ]
+
+instance Monad m => Applicative ( ParseT a m ) where
+  pure = return; (<*>) = ap
+
+instance Monad m => Alternative (ParseT a m ) where
+  empty = mzero
+  (<|>) = mplus
 
 instance Monad m => Monad ( ParseT a m ) where
   return b = ParseT $ \a -> return [ (b, a) ]
diff --git a/mtlparse.cabal b/mtlparse.cabal
--- a/mtlparse.cabal
+++ b/mtlparse.cabal
@@ -1,5 +1,5 @@
 Name:		mtlparse
-Version:	0.1.3.0
+Version:	0.1.4.0
 License:	LGPL
 License-File:	LICENSE
 Author:		Yoshikuni Jujo <PAF01143@nifty.ne.jp>
