@@ -106,11 +106,16 @@ parensTerm =
106106 _ ->
107107 A.at start end (Src.tuple expressions)
108108 in
109− do (start, mkExpr, end) <-
110− located $ choice $
111− [ mkBinop <$> try (parens (addLocation Binop.infixOp))
112− , parens (tupleFn <|> parenedExpr)
109+ do char '('
110+ start <- getMyPosition
111+ mkExpr <-
112+ choice
113+ [ mkBinop <$> try (addLocation Binop.infixOp)
114+ , tupleFn
115+ , parenedExpr
113116 ]
117+ end <- getMyPosition
118+ char ')'
114119 return (mkExpr start end)
115120
116121
@@ -299,7 +304,11 @@ def =
299304defStart :: IParser P.Raw
300305defStart =
301306 choice
302− [ addLocation (try (P.Var <$> parens Binop.infixOp))
307+ [ addLocation $ try $
308+ do char '('
309+ op <- Binop.infixOp
310+ char ')'
311+ return (P.Var op)
303312 , Pattern.term
304313 ]
305314