[RFC] Mutable records as a GHC extension
Haskell Community [Unofficial]
April 4, 2026
I assume you’re talking about the Mutable Constructor Fields proposal.
What it wants to do probably makes sense in terms of the garbage collector, but the result is a monstrous notion of a half-mutable ADT with all sorts of weird edge cases. It’d put it in the same category as partial ADT product updates.
I instead want to see a clear separation between ADTs, which are always immutable and by default lazy, and mutable records, which we may well want to be strict by default. The ability to thaw/freeze a mutable record only exists as a convenience for construction and teardown, and should not be extended further.
Discussion in the ATmosphere