{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreid6cjyjos7ohw5ee7feubf2lfjbxbz4qy5efusb4aiq7u57bwavrm",
"uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3moaldbfx6ti2"
},
"path": "/t/haskells-missing-mutable-reference-type/14248?page=3#post_48",
"publishedAt": "2026-06-14T09:44:23.000Z",
"site": "https://discourse.haskell.org",
"textContent": "tomjaguarpaw:\n\n> For example, when the `Severity` reaches a certain elevated level the caller may want `modifySeverity` to obtain a connection to a different logging channel (maybe it starts writing to a file rather than stdout) for the duration of elevated execution (but no longer than that). I want to support that use case.\n\nThis assumes that the logger is its own separate actor and that’s way too complex for my tastes. I’d go with a static approach where some flows are known upfront to log to file when certain conditions are met. All you’d then need is to open a file and pass a different logger down.",
"title": "Haskell's missing mutable reference type"
}