@@ -47,10 +47,10 @@ parseBooleanLiteral :: P.Parsec String ParseState Value
47parseBooleanLiteral = BooleanLiteral <$> booleanLiteral
47parseBooleanLiteral = BooleanLiteral <$> booleanLiteral
49parseArrayLiteral :: P.Parsec String ParseState Value
49parseArrayLiteral :: P.Parsec String ParseState Value
50−parseArrayLiteral = ArrayLiteral <$> C.squares (parseValue `P.sepBy` (C.indented *> C.comma))
50+parseArrayLiteral = ArrayLiteral <$> C.squares (C.commaSep parseValue)
52parseObjectLiteral :: P.Parsec String ParseState Value
52parseObjectLiteral :: P.Parsec String ParseState Value
53−parseObjectLiteral = ObjectLiteral <$> C.braces (parseIdentifierAndValue `P.sepBy` (C.indented *> C.comma))
53+parseObjectLiteral = ObjectLiteral <$> C.braces (C.commaSep parseIdentifierAndValue)
55parseIdentifierAndValue :: P.Parsec String ParseState (String, Value)
55parseIdentifierAndValue :: P.Parsec String ParseState (String, Value)
56parseIdentifierAndValue = (,) <$> (C.indented *> C.identifier <* C.indented <* C.colon)
56parseIdentifierAndValue = (,) <$> (C.indented *> C.identifier <* C.indented <* C.colon)
@@ -66,7 +66,7 @@ parseAbs = do
67 manyArgs :: P.Parsec String ParseState (Value -> Value)
67 manyArgs :: P.Parsec String ParseState (Value -> Value)
68 manyArgs = do
68 manyArgs = do
69− args <- C.parens ((C.indented *> C.parseIdent) `P.sepBy` (C.indented *> C.comma))
69+ args <- C.parens (C.commaSep C.parseIdent)
70 return $ Abs args
70 return $ Abs args
71 singleArg :: P.Parsec String ParseState (Value -> Value)
71 singleArg :: P.Parsec String ParseState (Value -> Value)
72 singleArg = Abs . return <$> C.parseIdent
72 singleArg = Abs . return <$> C.parseIdent
@@ -76,7 +76,7 @@ parseAbs = do
77parseApp :: P.Parsec String ParseState Value
77parseApp :: P.Parsec String ParseState Value
78parseApp = App <$> parseValue
78parseApp = App <$> parseValue
79− <*> (C.indented *> C.parens (parseValue `P.sepBy` (C.indented *> C.comma)))
79+ <*> (C.indented *> C.parens (C.commaSep parseValue))
81parseVar :: P.Parsec String ParseState Value
81parseVar :: P.Parsec String ParseState Value
82parseVar = Var <$> C.parseQualified C.parseIdent
82parseVar = Var <$> C.parseQualified C.parseIdent
@@ -134,9 +134,9 @@ parseValue =
135 indexersAndAccessors = C.buildPostfixParser postfixTable1 parseValueAtom
135 indexersAndAccessors = C.buildPostfixParser postfixTable1 parseValueAtom
136 postfixTable1 = [ Accessor <$> (C.indented *> C.dot *> C.indented *> C.identifier)
136 postfixTable1 = [ Accessor <$> (C.indented *> C.dot *> C.indented *> C.identifier)
137− , P.try $ flip ObjectUpdate <$> (C.indented *> C.braces ((C.indented *> parsePropertyUpdate) `P.sepBy1` (C.indented *> C.comma))) ]
137+ , P.try $ flip ObjectUpdate <$> (C.indented *> C.braces (C.commaSep1 (C.indented *> parsePropertyUpdate))) ]
138 postfixTable2 = [ P.try (C.indented *> indexersAndAccessors >>= \t2 -> return (\t1 -> App t1 [t2]))
138 postfixTable2 = [ P.try (C.indented *> indexersAndAccessors >>= \t2 -> return (\t1 -> App t1 [t2]))
139− , P.try $ flip App <$> (C.indented *> C.parens (parseValue `P.sepBy` (C.indented *> C.comma)))
139+ , P.try $ flip App <$> (C.indented *> C.parens (C.commaSep parseValue))
140 , flip TypedValue <$> (P.try (C.lexeme (C.indented *> P.string "::")) *> parsePolyType) ]
140 , flip TypedValue <$> (P.try (C.lexeme (C.indented *> P.string "::")) *> parsePolyType) ]
141 operators = [ [ Prefix $ C.lexeme (P.try $ C.indented *> C.reservedOp "!") >> return (Unary Not)
141 operators = [ [ Prefix $ C.lexeme (P.try $ C.indented *> C.reservedOp "!") >> return (Unary Not)
142 , Prefix $ C.lexeme (P.try $ C.indented *> C.reservedOp "~") >> return (Unary BitwiseNot)
142 , Prefix $ C.lexeme (P.try $ C.indented *> C.reservedOp "~") >> return (Unary BitwiseNot)
@@ -221,10 +221,10 @@ parseUnaryBinder :: P.Parsec String ParseState Binder
221parseUnaryBinder = UnaryBinder <$> C.lexeme (C.parseQualified C.properName) <*> (C.indented *> parseBinder)
221parseUnaryBinder = UnaryBinder <$> C.lexeme (C.parseQualified C.properName) <*> (C.indented *> parseBinder)
223parseObjectBinder :: P.Parsec String ParseState Binder
223parseObjectBinder :: P.Parsec String ParseState Binder
224−parseObjectBinder = ObjectBinder <$> C.braces ((C.indented *> parseIdentifierAndBinder) `P.sepBy` (C.indented *> C.comma))
224+parseObjectBinder = ObjectBinder <$> C.braces (C.commaSep (C.indented *> parseIdentifierAndBinder))
226parseArrayBinder :: P.Parsec String ParseState Binder
226parseArrayBinder :: P.Parsec String ParseState Binder
227−parseArrayBinder = C.squares $ ArrayBinder <$> ((C.indented *> parseBinder) `P.sepBy` (C.indented *> C.comma))
227+parseArrayBinder = C.squares $ ArrayBinder <$> (C.commaSep (C.indented *> parseBinder))
228 <*> P.optionMaybe (C.indented *> C.colon *> C.indented *> parseBinder)
228 <*> P.optionMaybe (C.indented *> C.colon *> C.indented *> parseBinder)
230parseNamedBinder :: P.Parsec String ParseState Binder
230parseNamedBinder :: P.Parsec String ParseState Binder