This may sound a bit ridiculous, but GHC fails to compile my string containing bacon, a croissant, cucumber, and a potato:
main = putStrLn "🥓 🥐 🥒 🥔"
I realize I could easily write
main = putStrLn "\x1F953 \x1F950 \x1F952 \x1F954"
to the same effect, but I had always assumed GHC would accept any unicode in its source. So: what are the actual restrictions on unicode characters GHC accepts in source files?
BTW: I realize that supporting this sort of thing is hell for the GHC lexer (actually I ran across the above problem while writing test cases for a lexer I wrote), but I still am a tad bit disappointed.