Hi, Am Dienstag, dem 21.11.2023 um 21:06 +0000 schrieb Simon Peyton Jones:
I agree. But I have been increasingly realising that really the extension should be called PolyLocalBinds, and MonoLocalBinds should be a synonym for NoPolyLocalBinds.
Reason: extensions generally allow more programs, not fewer. PolyLocalBinds does that -- at the expense of less predictable type inference. To get predictable type inference with GADTs we switch PolyLocalBinds off.
You may think this is just moving the deck chairs around, but I think this renaming is a more consistent story.
I am a big fan of nicely arranged seating on deck. So if we think it’s useful, I think we can add this to GHC2024 as NoPolyLocalBinds, retrofit PolyLocalBinds into the previous editions, and make the (No)MonoLocalBinds flags just aliases. I can add this as a rider to the GHC2024 vote. Cheers, Joachim -- Joachim Breitner mail@joachim-breitner.de http://www.joachim-breitner.de/