| Yes, these are related. However, they all point to just a change in the
| output format of -ddump-types so that by default, foralls are not
| printed. The old output format can be restored by passing in an extra -
| fprint-explicit-foralls flag. I think this is actually an improvement,
| and thus my suggestion is to simply update the expected output of these
| tests.

Yes I agree.  Go ahead.

| 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.  

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.

| If there's agreement on this, I'm happy to implement both changes.

Thanks. It would be good to nail this today; currently there are a bunch of 
consequential validate failures.

Simon


| 
| I think this is actually a bug in isSymOcc, since I don't think the
| intention behind the generated name $wupd is to be regarded as an infix
| name. So we could change isLexVarSym so that if the first character is
| $, the rest is still checked for symbol-ness.
| 
| 
| Bye,
|       Gergo
| _______________________________________________
| ghc-devs mailing list
| [email protected]
| http://www.haskell.org/mailman/listinfo/ghc-devs
_______________________________________________
ghc-devs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/ghc-devs

Reply via email to