Update docs for change in parsing behaviour of infix operators like `@` in GHC 9
GHC 9 now treats @
with spaces as an infix operator, which breaks Template Haskell code like:
let myType = ... :: Q Type
[| foo @ $myType |]
(this is intended to generate code like foo @Int
). The space here was needed so that @$
wasn't being treated as a single unit, but this breaks with GHC 9. The fix is to change this to @($myType)
.
Update migration guide, release notes, and any other documentation to be more clear about this change in behavior. There was a small note added to the release docs in !5499 (closed), but it doesn't clearly indicate that it breaks code like the above.