{
  "$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"
}