parseRational :: Parser LispVal
parseRational = try $ numberfy <$> int <* over <*> int
  where
    int = many1 digit
    over = ws <* char '/' <* ws
    ws = skipMany space
    numberfy num denom = Rational (read num % read denom)
parseRational :: Parser LispVal
parseRational = try $ numberfy <$> int <* over <*> int
  where
    int = many1 digit
    over = ws <* char '/' <* ws
    ws = skipMany space
    numberfy num denom = Rational (read num % read denom)
parseRational = try $ numberfy <$> int <* over <*> int
  where
    int = many1 digit
    over = ws <* char '/' <* ws
    ws = skipMany space
    numberfy num denom = Rational (read num % read denom)