From d2d8b9c82f1aa4d38631775f75eceb4cb1ccec09 Mon Sep 17 00:00:00 2001 From: Hugh Sipiere Date: Sun, 24 May 2020 14:19:37 +0100 Subject: [PATCH] Fix set1 parsing and ignore HIE yaml --- .gitignore | 2 ++ grin/src/Grin/ExtendedSyntax/Parse/Basic.hs | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) 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)