factor :: Parser Double
factor = (char '-' *> pure (-1)) <|> (char '+' *> pure 1) <|> pure 1
factor :: Parser Double
factor = (char '-' *> pure (-1)) <|> (char '+' *> pure 1) <|> pure 1
factor = (char '-' *> pure (-1)) <|> (char '+' *> pure 1) <|> pure 1