EffectTalk

Effect.acquireRelease for manual resources

Use `Effect.acquireRelease` when you need explicit acquire → use → release logic. Unlike `Layer.scoped`, this is for one-off resources—files, connections, locks—where you control the lifecycle directly.

The acquire effect runs first; the release runs when the scope ends, even if the use phase fails.

  • Use `Effect.acquireRelease(acquire, release)` - release takes the acquired value
  • The result is an Effect that must be used inside `Effect.scoped`
  • Release runs whether the use phase succeeds or fails
Loading code editor...