@@ -284,6 +284,9 @@ booleanLiteral = (reserved "true" >> return True) P.<|> (reserved "false" >> ret
284284parseNumericLiteral :: TokenParser Expr
285285parseNumericLiteral = NumericLiteral <$> number
286286
287+parseCharLiteral :: TokenParser Expr
288+parseCharLiteral = CharLiteral <$> charLiteral
289+
287290parseStringLiteral :: TokenParser Expr
288291parseStringLiteral = StringLiteral <$> stringLiteral
289292
@@ -350,6 +353,7 @@ parseLet = do
350353parseValueAtom :: TokenParser Expr
351354parseValueAtom = P.choice
352355 [ P.try parseNumericLiteral
356+ , P.try parseCharLiteral
353357 , P.try parseStringLiteral
354358 , P.try parseBooleanLiteral
355359 , parseArrayLiteral
@@ -442,6 +446,9 @@ parseObjectUpdaterWildcard = underscore *> C.indented *> parseUpdaterBody Nothin
442446parseStringBinder :: TokenParser Binder
443447parseStringBinder = StringBinder <$> stringLiteral
444448
449+parseCharBinder :: TokenParser Binder
450+parseCharBinder = CharBinder <$> charLiteral
451+
445452parseBooleanBinder :: TokenParser Binder
446453parseBooleanBinder = BooleanBinder <$> booleanLiteral
447454
@@ -492,6 +499,7 @@ parseBinder = withSourceSpan PositionedBinder (P.buildExpressionParser operators
492499 parseBinderAtom :: TokenParser Binder
493500 parseBinderAtom = P.choice (map P.try
494501 [ parseNullBinder
502+ , parseCharBinder
495503 , parseStringBinder
496504 , parseBooleanBinder
497505 , parseNumberBinder
@@ -508,6 +516,7 @@ parseBinder = withSourceSpan PositionedBinder (P.buildExpressionParser operators
508516parseBinderNoParens :: TokenParser Binder
509517parseBinderNoParens = P.choice (map P.try
510518 [ parseNullBinder
519+ , parseCharBinder
511520 , parseStringBinder
512521 , parseBooleanBinder
513522 , parseNumberBinder