⟨/⟩ AT Protocol Record Source
at://did:plc:pi6woz4d47bkuws673w2il2r/site.standard.document/3mnw6jlwn2372
← Back to post
{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreigzjrso54a5ct7wxzj37ctj4g5silsx4z2rj5livswiy6nb3vrgoi",
    "uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mnw6jlwmz672"
  },
  "path": "/t/haskells-missing-mutable-reference-type/14248#post_16",
  "publishedAt": "2026-06-10T07:12:51.000Z",
  "site": "https://discourse.haskell.org",
  "textContent": "If the value is dynamically allocated, then how do you use it inside a function without passing it? And if you’re passing a value, why not determine the wanted behavior based on passed value instead? The following is obviously not valid Haskell:\n\n\n    module Foo (foo) where\n\n    withIOScopedRef 5 $ \\x ->\n      let foo = _ x\n\n\nThe point here is that `x` is not a _value_ , it’s a place. `foo` expects a value to be there when it executes, user knows they can augment it.",
  "title": "Haskell's missing mutable reference type"
}