diff --git a/.gitignore b/.gitignore index 4935ed89..2e61e9b0 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,5 @@ grin/.end-to-end-test/ *.out.ll *.out.s .ghc.environment.* +hie.yaml +*.lock diff --git a/grin/src/Grin/ExtendedSyntax/Parse/Basic.hs b/grin/src/Grin/ExtendedSyntax/Parse/Basic.hs index 58a82226..2ec9412f 100644 --- a/grin/src/Grin/ExtendedSyntax/Parse/Basic.hs +++ b/grin/src/Grin/ExtendedSyntax/Parse/Basic.hs @@ -89,11 +89,14 @@ vec1 p = Vec.fromList <$> list1 p bracedList :: Parser a -> Parser [a] bracedList p = braces (sepBy p (op ",")) +bracedList1 :: Parser a -> Parser [a] +bracedList1 p = braces (sepBy1 p (op ",")) + set :: Ord a => Parser a -> Parser (Set a) set p = Set.fromList <$> bracedList p set1 :: Ord a => Parser a -> Parser (Set a) -set1 p = Set.fromList <$> bracedList p +set1 p = Set.fromList <$> bracedList1 p anySingleBut :: MonadParsec e s m => Token s -> m (Token s) anySingleBut t = satisfy (/= t)