I don't have a strong opinion either way. The strongly reason in favour is encapsulated in Richard's comment
which points out that the two T's are entirely unrelated.
I had not fully realised this, but in fact it is /already/ possible to have different fixities for a single lexeme T; a concrete example is here
I added another comment
that tries to separate the AST issue from the source-code issue. I do think we should make the internal change; but I’m unconvinced it’s worth the faff to solve the source-level issue.
Simon
| -----Original Message-----
| Sent: 27 August 2017 19:16
| Subject: [ghc-steering-committee] Proposal: Type Fixity (#65),
| Recommendation: Reject
|
| Dear Committee,
|
| Ryan Scott’s proposal to allow fixity declaration to explicitly target
| values or types has been brought before us:
|
| I (the secretary) nominates myself as the shepherd, so I can right away
| continue giving a recommendation.
|
| I propose to reject this proposal. The main reasons are:
| * it is not clear if there is a real use case for this. Has anyone
| ever complained about the status quo?
| The proposal does not motivate the need for a change well enough.
| (There is a related bug in TH, but that bug can probably simply be
| fixed.)
| * The status quo can be sold as a feature, rather than a short-coming.
| Namely that an operator has a fixed fixity, no matter what namespace
| it lives in.
| This matches morally what other languages do: In Gallina, fixity
| is assigned to names independent of their definition, AFAIK.
| * There is a non-trivial implementation and education overhead, a
| weight that is not pulled by the gains.
|
| If we’d design Haskell from scratch, my verdict might possibly be different
| (but maybe we wouldn’t even allow types and values to share names then…)
|
|
| Please contradict me or indicate consensus by staying silent.
|
|
| Greetings,
| Joachim
|
| --
| Joachim “nomeata” Breitner
|