EffectTalk

The Three Channels: Success, Error, and Requirements

Every Effect has three type channels: `Effect<A, E, R>` - **A**: Success type (what you get on success) - **E**: Error type (what can go wrong) - **R**: Requirements (services/dependencies needed)

The type signature documents the complete contract. In the anti-pattern, errors are untyped strings. In the Effect way, errors are typed.

  • Use `Data.tagged` or `Data.TaggedError` to create typed errors
  • The error type `E` in `Effect<A, E, R>` documents what can go wrong
  • Tagged errors provide better error handling and type safety
Loading code editor...