
On Thu, Dec 26, 2024 at 9:24 AM Jons Mostovojs
wrote: Dear Ivan,
I normally don't post, but I got quite scared after reading your commentary of the proposal.
However, upon closer inspection, it became evident that it doesn't allow overriding keywords as your post suggested.
(While the changes to *fbind* allow more record constructions to parse, a construction such as ``C { type = e }}`` or ``C { foo.bar = e }`` will continue to be rejected during name resolution.)
It's literally from the motivating example (bold mine): @parsonsmatt commented on Jul 22
"This should enable the use of HasField "type" s a instances to be used with OverloadedRecordDot -* foo.type.*"
https://github.com/ghc-proposals/ghc-proposals/pull/668#issue-2423570608 https://gitlab.haskell.org/ghc/ghc/-/issues/24174 Both of those seem to indicate that a construction like *foo.type* would be allowed with that extension on. Not *foo."type"*, but *foo.type*. Also, I think we should strongly reconsider the choices being made in language design if anyone is seriously considering that, to avoid having to write foo.type_ the way to go is to design an extension that would have people write foo."type" Ivan