parseCharacter :: Parser LispVal
parseCharacter = (Character . readChar) <$> (prefix *> many nonWhitespace)
    where prefix = try $ char '#' *> char '\\'
          nonWhitespace = satisfy (not . isSpace)
          readChar [c] = return . read $ "'\\" ++ [c] ++ "'"
          readChar s = s
parseCharacter :: Parser LispVal
parseCharacter = (Character . readChar) <$> (prefix *> many nonWhitespace)
    where prefix = try $ char '#' *> char '\\'
          nonWhitespace = satisfy (not . isSpace)
          readChar [c] = return . read $ "'\\" ++ [c] ++ "'"
          readChar s = s
parseCharacter = (Character . readChar) <$> (prefix *> many nonWhitespace)
    where prefix = try $ char '#' *> char '\\'
          nonWhitespace = satisfy (not . isSpace)
          readChar [c] = return . read $ "'\\" ++ [c] ++ "'"
          readChar s = s