1 module Language.Core.ParseGlue where
7 data ParseResult a = OkP a | FailP String
8 type P a = String -> Int -> ParseResult a
10 instance Show a => Show (ParseResult a)
11 where show (OkP r) = show r
14 thenP :: P a -> (a -> P b) -> P b
15 m `thenP` k = \ s l ->
23 failP :: String -> P a
24 failP s s' _ = FailP (s ++ ":" ++ s')