Effect (Effect-TS) is a TypeScript library for building programs where errors, dependencies and concurrency are tracked in the type system. Site: https://effect.website
Effect<A, E, R> is a lazy description of a program:
A: success valueE: typed, expected errorsR: required environment (services), provided later through LayersNothing runs until you hand the effect to a runtime. Effects are written with Effect.gen (generator syntax, similar to async/await) or with pipes.
Either, Option, tagged errors, catchTag)Context, Layer)Effect.all, Effect.race)Schedule, Effect.retry, Effect.repeat)Scope, acquireRelease)Stream, Channel, Queue, PubSub)Ref, STM)Schema)Chunk, HashMap, Duration, DateTime, ...)