CLC Proposal #341: Strict variants of mutable data types

At Scrive, we have found on several occasions – due to the efforts of @arybczak – space leaks coming from the default, lazy-evaluated implementation of the MVar API.
This has been the initial motivator to create the mutable-strict-base library. (See the original announcement: here).

However, the fact remains that pernicious lazy evaluation in mutable types from the base library is a source of confusion, with real consequences for users down the line.

I have opened a proposal, written from the perspective of someone who has to diagnose thunk retention in production, which usually implies scouring one’s codebase and its dependencies.

You can view the proposal at Strict variants of mutable data types · Issue #341 · haskell/core-libraries-committee · GitHub

11 Likes