@@ -40,12 +40,7 @@ import qualified Text.Trifecta as P
4040import qualified Text.Trifecta.Delta as P
4141
4242-- | Idris parser with state used during parsing
43−type IdrisParser = StateT IState IdrisInnerParser
44−
45−newtype IdrisInnerParser a = IdrisInnerParser { runInnerParser :: P.Parser a }
46− deriving (Monad, Functor, MonadPlus, Applicative, Alternative, P.CharParsing, LookAheadParsing, P.DeltaParsing, P.MarkParsing P.Delta, Monoid, P.TokenParsing)
47−
48−deriving instance P.Parsing IdrisInnerParser
43+type IdrisParser = StateT IState P.Parser
4944
5045#if MIN_VERSION_base(4,9,0)
5146instance {-# OVERLAPPING #-} P.DeltaParsing IdrisParser where
@@ -87,9 +82,9 @@ instance HasLastTokenSpan IdrisParser where
8782newtype ParseError = ParseError { parseErrorDoc :: PP.Doc }
8883
8984-- | Helper to run Idris inner parser based stateT parsers
90−runparser :: StateT st IdrisInnerParser res -> st -> String -> String -> Either ParseError res
85+runparser :: StateT st P.Parser res -> st -> String -> String -> Either ParseError res
9186runparser p i inputname s =
92− case P.parseString (runInnerParser (evalStateT p i))
87+ case P.parseString (evalStateT p i)
9388 (P.Directed (UTF8.fromString inputname) 0 0 0 0) s of
9489 P.Failure (P.ErrInfo doc _) -> Left (ParseError doc)
9590 P.Success value -> Right value