@@ -517,11 +517,13 @@ parseNullBinder :: TokenParser Binder
517517parseNullBinder = underscore *> return NullBinder
518518
519519parseIdentifierAndBinder :: TokenParser (String, Binder)
520−parseIdentifierAndBinder = do
521− name <- lname <|> stringLiteral
522− C.indented *> (equals <|> colon)
523− binder <- C.indented *> parseBinder
524− return (name, binder)
520+parseIdentifierAndBinder =
521+ do name <- lname
522+ b <- P.option (VarBinder (Ident name)) rest
523+ return (name, b)
524+ <|> (,) <$> stringLiteral <*> rest
525+ where
526+ rest = C.indented *> (equals <|> colon) *> C.indented *> parseBinder
525527
526528-- |
527529-- Parse a binder