factor :: Parser Expr
factor = try floating
         <|> try int
         <|> try call
         <|> try variable
         <|> ifthen
         <|> for
         <|> (parens expr)
factor :: Parser Expr
factor = try floating
         <|> try int
         <|> try call
         <|> try variable
         <|> ifthen
         <|> for
         <|> (parens expr)
factor = try floating
         <|> try int
         <|> try call
         <|> try variable
         <|> ifthen
         <|> for
         <|> (parens expr)