File tree Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Original file line number Diff line number Diff line change @@ -34,21 +34,21 @@ successResult leftover consumed result = parseResult leftover consumed (Right re
34
34
failureResult :: forall s a . s -> Boolean -> ParseError -> ParseResult s a
35
35
failureResult leftover consumed err = parseResult leftover consumed (Left err)
36
36
37
- instance Prelude.Functor (ParseResult s ) where
37
+ instance functorParseResult :: Prelude.Functor (ParseResult s ) where
38
38
(<$>) f (ParseResult o) = parseResult o.leftover o.consumed (f <$> o.result)
39
39
40
40
data Parser s a = Parser (s -> ParseResult s a )
41
41
42
42
runParser :: forall s a . Parser s a -> s -> ParseResult s a
43
43
runParser (Parser p) s = p s
44
44
45
- instance Prelude.Monad (Parser s ) where
45
+ instance monadParser :: Prelude.Monad (Parser s ) where
46
46
return a = Parser $ \s -> successResult s false a
47
47
(>>=) p f = Parser $ \s -> case runParser p s of
48
48
ParseResult ({ leftover = s', consumed = consumed, result = Left err }) -> failureResult s' consumed err
49
49
ParseResult ({ leftover = s', consumed = consumed, result = Right a }) -> runParser (f a) s' -- TODO
50
50
51
- instance Prelude.Alternative (Parser s ) where
51
+ instance monadAlternative :: Prelude.Alternative (Parser s ) where
52
52
empty = fail " No alternative"
53
53
(<|>) p1 p2 = Parser $ \s -> case runParser p1 s of
54
54
ParseResult ({ leftover = s', consumed = false , result = Left _ }) -> runParser p2 s
You can’t perform that action at this time.
0 commit comments