floatLit :: Parser Double
floatLit = (=<<) (readParse . fst) $ match $ do
  many1 digit
  Parser.option "" $ do
    "."
    many1 digit
  Parser.option "" $ do
    "e" <|> "E"
    Parser.option "" $ "+" <|> "-"
    many1 digit
floatLit :: Parser Double
floatLit = (=<<) (readParse . fst) $ match $ do
  many1 digit
  Parser.option "" $ do
    "."
    many1 digit
  Parser.option "" $ do
    "e" <|> "E"
    Parser.option "" $ "+" <|> "-"
    many1 digit
floatLit = (=<<) (readParse . fst) $ match $ do
  many1 digit
  Parser.option "" $ do
    "."
    many1 digit
  Parser.option "" $ do
    "e" <|> "E"
    Parser.option "" $ "+" <|> "-"
    many1 digit