{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreicbpomn76ybst3wpui2yjcmepnzjqvehoffj3n4gvpelt3pthmvoa",
    "uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mivsavxzfkp2"
  },
  "path": "/t/bluefin-naming-handle-or-capability/13903#post_2",
  "publishedAt": "2026-04-07T10:27:43.000Z",
  "site": "https://discourse.haskell.org",
  "textContent": "I quite like capability when referring to the effect system members and handles when talking about the what the function requires to provide the effect.\n\nReading the type signature for `fooBf`, I read it as:\n\n\"`fooBf` is a computation in which _capability_ `e` is a member of the _capabilities_ `es` and it takes a _handle_ to an `IOE` effects over _capability_ `e` which it will use to produce an `Eff`ect and a return value from the `es` effect sytem of type `r`.”\n\nEDIT: `IOE e` and `fooBF` does not _use_ other effects in `es`. The effect is locked to whatever `IOE` effects `e` can effect in `es`.",
  "title": "Bluefin naming: \"handle\" or \"capability\"?"
}