@@ -269,7 +269,7 @@ parseObjectLiteral :: P.Parsec String ParseState Expr
269269parseObjectLiteral = ObjectLiteral <$> C.braces (C.commaSep parseIdentifierAndValue)
270270
271271parseIdentifierAndValue :: 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)
273273 <*> (C.indented *> parseValue)
274274
275275parseAbs :: P.Parsec String ParseState Expr
@@ -332,14 +332,14 @@ parseValueAtom = P.choice
332332
333333parsePropertyUpdate :: P.Parsec String ParseState (String, Expr)
334334parsePropertyUpdate = do
335− name <- C.lexeme (C.identifier <|> C.stringLiteral)
335+ name <- C.lexeme (C.identifierName <|> C.stringLiteral)
336336 _ <- C.lexeme $ C.indented *> P.char '='
337337 value <- C.indented *> parseValue
338338 return (name, value)
339339
340340parseAccessor :: Expr -> P.Parsec String ParseState Expr
341341parseAccessor (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
343343
344344parseDo :: P.Parsec String ParseState Expr
345345parseDo = do
@@ -419,7 +419,7 @@ parseNullBinder = C.lexeme (P.char '_' *> P.notFollowedBy C.identLetter) *> retu
419419
420420parseIdentifierAndBinder :: P.Parsec String ParseState (String, Binder)
421421parseIdentifierAndBinder = do
422− name <- C.lexeme (C.identifier <|> C.stringLiteral)
422+ name <- C.lexeme (C.identifierName <|> C.stringLiteral)
423423 _ <- C.lexeme $ C.indented *> P.char '='
424424 binder <- C.indented *> parseBinder
425425 return (name, binder)