External Publication
Visit Post

[RFC] Mutable records as a GHC extension

Haskell Community [Unofficial] April 4, 2026
Source

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

Loading comments...