@@ -29,13 +29,13 @@ instance stringLikeString :: StringLike String where
2929 null = S .null
3030
3131-- | Match end-of-file.
32- eof :: forall s m . ( StringLike s , Monad m ) => ParserT s m Unit
32+ eof :: forall s m . StringLike s => Monad m => ParserT s m Unit
3333eof = do
3434 input <- gets \(ParseState input _ _) -> input
3535 unless (null input) (fail " Expected EOF" )
3636
3737-- | Match the specified string.
38- string :: forall s m . ( StringLike s , Monad m ) => String -> ParserT s m String
38+ string :: forall s m . StringLike s => Monad m => String -> ParserT s m String
3939string str = do
4040 input <- gets \(ParseState input _ _) -> input
4141 case indexOf (wrap str) input of
@@ -48,7 +48,7 @@ string str = do
4848 _ -> fail (" Expected " <> show str)
4949
5050-- | Match any character.
51- anyChar :: forall s m . ( StringLike s , Monad m ) => ParserT s m Char
51+ anyChar :: forall s m . StringLike s => Monad m => ParserT s m Char
5252anyChar = do
5353 input <- gets \(ParseState input _ _) -> input
5454 case uncons input of
@@ -61,30 +61,30 @@ anyChar = do
6161 pure head
6262
6363-- | Match a character satisfying the specified predicate.
64- satisfy :: forall s m . ( StringLike s , Monad m ) => (Char -> Boolean ) -> ParserT s m Char
64+ satisfy :: forall s m . StringLike s => Monad m => (Char -> Boolean ) -> ParserT s m Char
6565satisfy f = try do
6666 c <- anyChar
6767 if f c then pure c
6868 else fail $ " Character '" <> singleton c <> " ' did not satisfy predicate"
6969
7070-- | Match the specified character
71- char :: forall s m . ( StringLike s , Monad m ) => Char -> ParserT s m Char
71+ char :: forall s m . StringLike s => Monad m => Char -> ParserT s m Char
7272char c = satisfy (_ == c) <?> (" Expected " <> show c)
7373
7474-- | Match a whitespace character.
75- whiteSpace :: forall s m . ( StringLike s , Monad m ) => ParserT s m String
75+ whiteSpace :: forall s m . StringLike s => Monad m => ParserT s m String
7676whiteSpace = do
7777 cs <- many $ satisfy \c -> c == ' \n ' || c == ' \r ' || c == ' ' || c == ' \t '
7878 pure $ fromCharArray cs
7979
8080-- | Skip whitespace characters.
81- skipSpaces :: forall s m . ( StringLike s , Monad m ) => ParserT s m Unit
81+ skipSpaces :: forall s m . StringLike s => Monad m => ParserT s m Unit
8282skipSpaces = void whiteSpace
8383
8484-- | Match one of the characters in the array.
85- oneOf :: forall s m . ( StringLike s , Monad m ) => Array Char -> ParserT s m Char
85+ oneOf :: forall s m . StringLike s => Monad m => Array Char -> ParserT s m Char
8686oneOf ss = satisfy (flip elem ss) <?> (" Expected one of " <> show ss)
8787
8888-- | Match any character not in the array.
89- noneOf :: forall s m . ( StringLike s , Monad m ) => Array Char -> ParserT s m Char
89+ noneOf :: forall s m . StringLike s => Monad m => Array Char -> ParserT s m Char
9090noneOf ss = satisfy (flip notElem ss) <?> (" Expected none of " <> show ss)
0 commit comments