@@ -269,7 +269,7 @@ parseObjectLiteral :: P.Parsec String ParseState Expr
269parseObjectLiteral = ObjectLiteral <$> C.braces (C.commaSep parseIdentifierAndValue)
269parseObjectLiteral = ObjectLiteral <$> C.braces (C.commaSep parseIdentifierAndValue)
271parseIdentifierAndValue :: P.Parsec String ParseState (String, Expr)
271parseIdentifierAndValue :: P.Parsec String ParseState (String, Expr)
272−parseIdentifierAndValue = (,) <$> (C.indented *> (C.identifier <|> C.stringLiteral) <* C.indented <* C.colon)
272+parseIdentifierAndValue = (,) <$> (C.indented *> (C.identifierName <|> C.stringLiteral) <* C.indented <* C.colon)
273 <*> (C.indented *> parseValue)
273 <*> (C.indented *> parseValue)
275parseAbs :: P.Parsec String ParseState Expr
275parseAbs :: P.Parsec String ParseState Expr
@@ -332,14 +332,14 @@ parseValueAtom = P.choice
333parsePropertyUpdate :: P.Parsec String ParseState (String, Expr)
333parsePropertyUpdate :: P.Parsec String ParseState (String, Expr)
334parsePropertyUpdate = do
334parsePropertyUpdate = do
335− name <- C.lexeme (C.identifier <|> C.stringLiteral)
335+ name <- C.lexeme (C.identifierName <|> C.stringLiteral)
336 _ <- C.lexeme $ C.indented *> P.char '='
336 _ <- C.lexeme $ C.indented *> P.char '='
337 value <- C.indented *> parseValue
337 value <- C.indented *> parseValue
338 return (name, value)
338 return (name, value)
340parseAccessor :: Expr -> P.Parsec String ParseState Expr
340parseAccessor :: Expr -> P.Parsec String ParseState Expr
341parseAccessor (Constructor _) = P.unexpected "constructor"
341parseAccessor (Constructor _) = P.unexpected "constructor"
342−parseAccessor obj = P.try $ Accessor <$> (C.indented *> C.dot *> P.notFollowedBy C.opLetter *> C.indented *> (C.identifier <|> C.stringLiteral)) <*> pure obj
342+parseAccessor obj = P.try $ Accessor <$> (C.indented *> C.dot *> P.notFollowedBy C.opLetter *> C.indented *> (C.identifierName <|> C.stringLiteral)) <*> pure obj
344parseDo :: P.Parsec String ParseState Expr
344parseDo :: P.Parsec String ParseState Expr
345parseDo = do
345parseDo = do
@@ -419,7 +419,7 @@ parseNullBinder = C.lexeme (P.char '_' *> P.notFollowedBy C.identLetter) *> retu
420parseIdentifierAndBinder :: P.Parsec String ParseState (String, Binder)
420parseIdentifierAndBinder :: P.Parsec String ParseState (String, Binder)
421parseIdentifierAndBinder = do
421parseIdentifierAndBinder = do
422− name <- C.lexeme (C.identifier <|> C.stringLiteral)
422+ name <- C.lexeme (C.identifierName <|> C.stringLiteral)
423 _ <- C.lexeme $ C.indented *> P.char '='
423 _ <- C.lexeme $ C.indented *> P.char '='
424 binder <- C.indented *> parseBinder
424 binder <- C.indented *> parseBinder
425 return (name, binder)
425 return (name, binder)