Concepts
Concepts
These pages explain the why and how behind Laco's design. Read them when you want to understand a mechanism, not just how to use it.
| Page | Read this if… |
|---|---|
| Config as Python | You're wondering why .py files instead of YAML |
| Lie-Typing | You're confused why L.call(T)(...) has type T at edit time but is a DictConfig at runtime |
| Lazy Construction | You want to understand L.call vs L.partial vs L.just vs L.required |
| Interpolation | You want to use @L.params, L.ref, or the L.r.* resolver namespace |
| Typed Groups | You want swappable, type-safe config variants (optimizer, activation, etc.) |
| Tracing | You want to write ordinary Python and get a config tree back automatically |
| App Loop | You're wiring up @L.task and laco.main for a full training script |