id_effect 0.2.0

Effect<A, E, R> (sync + async), context/layers, pipe — interpreter-style, no bundled executor
Documentation
1
2
3
4
5
6
7
8
9
# Layers — Building Your Dependency Graph

You've seen how `R` encodes what an effect needs, and how `Context` holds the values at runtime. But who *builds* the context?

In small programs you can construct context manually with `ctx!` and hand values to `provide`. In real applications, you need something more powerful: a way to declare *how* to build each piece of the environment, with automatic dependency ordering and lifecycle management.

That's what **Layers** are for.

A Layer is a recipe for building part of an environment. It knows what it produces, what it needs to produce it, and (optionally) how to clean up afterward. Wire Layers together, and id_effect figures out the right build order automatically.