@@ -1364,7 +1364,8 @@ pClause syn
1364 cargs <- many (pConstraintArg syn)
1364 cargs <- many (pConstraintArg syn)
1365 iargs <- many (pImplicitArg (syn { inPattern = True } ))
1365 iargs <- many (pImplicitArg (syn { inPattern = True } ))
1366 fc <- pfc
1366 fc <- pfc
1367+ args <- many (try (pImplicitArg (syn { inPattern = True } ))
1367− args <- many (pArgExpr syn)
1368+ <|> (fmap pexp (pArgExpr syn)))
1368 wargs <- many (pWExpr syn)
1369 wargs <- many (pWExpr syn)
1369 rhs <- pRHS syn n
1370 rhs <- pRHS syn n
1370 ist <- getState
1371 ist <- getState
@@ -1376,7 +1377,7 @@ pClause syn
1376 do pTerminator
1377 do pTerminator
1377 return ([], [])]
1378 return ([], [])]
1378 let capp = PApp fc (PRef fc n)
1379 let capp = PApp fc (PRef fc n)
1379− (iargs ++ cargs ++ map pexp args)
1380+ (iargs ++ cargs ++ args)
1380 ist <- getState
1381 ist <- getState
1381 setState (ist { lastParse = Just n })
1382 setState (ist { lastParse = Just n })
1382 return $ PClause fc n capp wargs rhs wheres)
1383 return $ PClause fc n capp wargs rhs wheres)
@@ -1402,10 +1403,11 @@ pClause syn
1402 cargs <- many (pConstraintArg syn)
1403 cargs <- many (pConstraintArg syn)
1403 iargs <- many (pImplicitArg (syn { inPattern = True } ))
1404 iargs <- many (pImplicitArg (syn { inPattern = True } ))
1404 fc <- pfc
1405 fc <- pfc
1406+ args <- many (try (pImplicitArg (syn { inPattern = True } ))
1405− args <- many (pArgExpr syn)
1407+ <|> (fmap pexp (pArgExpr syn)))
1406 wargs <- many (pWExpr syn)
1408 wargs <- many (pWExpr syn)
1407 let capp = PApp fc (PRef fc n)
1409 let capp = PApp fc (PRef fc n)
1408− (iargs ++ cargs ++ map pexp args)
1410+ (iargs ++ cargs ++ args)
1409 ist <- getState
1411 ist <- getState
1410 setState (ist { lastParse = Just n })
1412 setState (ist { lastParse = Just n })
1411 reserved "with"
1413 reserved "with"