
On Mon, Mar 17, 2014 at 2:45 PM, Simon Peyton Jones
| The one interesting case is T4306 which fails because the generated name | $wupd is regarded as an infix name, and thus with my new code is | rendered as | | ($wupd) :: GHC.Prim.Double# -> GHC.Prim.Double# | | instead of the old | | $wupd :: GHC.Prim.Double# -> GHC.Prim.Double#
I think it'd also be ok just to accept this output too. These "$wxx" names are generated by GHC and won't show up in user output. It doesn't much matter displaying them in parens.
Do they show up in -ddump-simpl? It would be nice to keep that output as readable as possible, as there are quite a few of us that read it on a regular basis.
But changing isLexVarSym is probably equally fine too. I think (worth a check) that it's only called for display purposes, and not in any performance-critical parts.
Whichever you choose, add a Note with isLexVarSym to explain the issue and the choice.
Does that mean that any operator that starts with $ will now not be considered infix for printing purposes? -- Johan