@@ -15,7 +15,8 @@
1515module Language.PureScript.Parser.Values (
1616 parseValue,
1717 parseGuard,
18− parseBinder
18+ parseBinder,
19+ parseBinderNoParens
1920) where
2021
2122import Language.PureScript.Values
@@ -265,6 +266,19 @@ parseBinder = (buildExpressionParser operators parseBinderAtom) P.<?> "expressio
265266 where
266267 operators = [ [ Infix ( C.lexeme (P.try $ C.indented *> C.reservedOp ":") >> return ConsBinder) AssocRight ] ]
267268
269+parseBinderNoParens :: P.Parsec String ParseState Binder
270+parseBinderNoParens = P.choice (map P.try
271+ [ parseNullBinder
272+ , parseStringBinder
273+ , parseBooleanBinder
274+ , parseNumberBinder
275+ , parseNamedBinder
276+ , parseVarBinder
277+ , parseNullaryBinder
278+ , parseObjectBinder
279+ , parseArrayBinder
280+ , C.parens parseBinder ]) P.<?> "binder"
281+
268282parseGuard :: P.Parsec String ParseState Guard
269283parseGuard = C.indented *> C.pipe *> C.indented *> parseValue
270284