I'm trying this again! The comment for Megaparsec.makeExprParser refers to "parens". When I grep for "parens" in Megaparsec I get only two occurences, both of them in comments:
./Lexer.hs:-- > parens = between (symbol "(") (symbol ")")
./Expr.hs:-- > term = parens expr <|> integer <?> "term"
If I try defining parens as in the comment from Lexer.hs, I get these errors:
<interactive>:37:33:
Couldn't match type ‘Char’ with ‘()’
Expected type: [()]
Actual type: [Char]
In the first argument of ‘symbol’, namely ‘"("’
In the first argument of ‘between’, namely ‘(symbol "(")’
In the expression: between (symbol "(") (symbol ")")
<interactive>:37:46:
Couldn't match type ‘Char’ with ‘()’
Expected type: [()]
Actual type: [Char]
In the first argument of ‘symbol’, namely ‘")"’
In the second argument of ‘between’, namely ‘(symbol ")")’
In the expression: between (symbol "(") (symbol ")")