@@ -758,16 +758,18 @@ LambdaTail ::=
759lambda :: SyntaxInfo -> IdrisParser PTerm
759lambda :: SyntaxInfo -> IdrisParser PTerm
760lambda syn = do lchar '\\' <?> "lambda expression"
760lambda syn = do lchar '\\' <?> "lambda expression"
761− (do xt <- try $ tyOptDeclList syn
761+ ((do xt <- try $ tyOptDeclList syn
762− fc <- getFC
762+ fc <- getFC
763− sc <- lambdaTail
763+ sc <- lambdaTail
764− return (bindList (PLam fc) xt sc)) <|> do
764+ return (bindList (PLam fc) xt sc))
765− ps <- sepBy (do fc <- getFC
766+ (do ps <- sepBy (do fc <- getFC
766− e <- simpleExpr (syn { inPattern = True })
767+ e <- simpleExpr (syn { inPattern = True })
767− return (fc, e)) (lchar ',')
768+ return (fc, e))
768− sc <- lambdaTail
770+ sc <- lambdaTail
769− return (pmList (zip [0..] ps) sc)
771+ return (pmList (zip [0..] ps) sc)))
770− <?> "lambda expression"
772+ <?> "lambda expression"
771 where pmList :: [(Int, (FC, PTerm))] -> PTerm -> PTerm
773 where pmList :: [(Int, (FC, PTerm))] -> PTerm -> PTerm
772 pmList [] sc = sc
774 pmList [] sc = sc
773 pmList ((i, (fc, x)) : xs) sc
775 pmList ((i, (fc, x)) : xs) sc