3 Feb
2026
3 Feb
'26
8:34 p.m.
Isn't a function of type `(# #) -> T` already (isomorphic to) a "non-updatable thunk" of type T? Tom On Tue, Feb 03, 2026 at 11:43:48AM +0000, Simon Peyton Jones via ghc-devs wrote:
Hmm. So your proposal is:
- When declaring a type T, specify it as a "non-updatable type" - A thunk of type T is call-by-name
On Tue, 3 Feb 2026 at 08:25, Edsko de Vries <edsko@well-typed.com> wrote:
I think there *is* a better answer: I think (but this will require careful consideration) that the way is is to be able to mark certain types as "never update thunks of this type".