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

14 Likes

The proposal has been accepted, thanks a lot to everyone who advised me on how to proceed and refine it. The merge request is located at https://gitlab.haskell.org/ghc/ghc/-/merge_requests/15450

3 Likes