# `Monty.Runtime.Registry`
[🔗](https://github.com/d-led/ex.tbp.monty/blob/v0.1.0/packages/ex_tbp_monty_core/lib/monty/runtime/registry.ex#L1)

Names for module processes.

Every sensor and learning module registers a stable key
(`{:sensor_module, model_id, id}`, `{:learning_module, model_id, id}`), and
the coordinator addresses it with a `:via` tuple. A restart changes the pid
but not the name, so nothing in the step loop has to be rewritten when a
module dies. The model id in the key lets several runs share one registry
without inventing an atom per run.

# `lookup`

```elixir
@spec lookup(term()) :: [{pid(), term()}]
```

The processes registered under a key.

# `registry`

```elixir
@spec registry() :: atom()
```

The application-wide registry module processes register in.

# `via`

```elixir
@spec via(term()) :: {:via, Registry, {atom(), term()}}
```

A `:via` name for a key.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
