# `Theoria.Env`
[🔗](https://github.com/elixir-vibe/theoria/blob/main/lib/theoria/env.ex#L1)

Kernel environment containing checked constants and definitions.

# `t`

```elixir
@type t() :: %Theoria.Env{constants: %{required(atom()) =&gt; Theoria.Env.Constant.t()}}
```

# `fetch`

```elixir
@spec fetch(t(), atom()) :: {:ok, Theoria.Env.Constant.t()} | :error
```

# `new`

```elixir
@spec new() :: t()
```

# `put_constant`

```elixir
@spec put_constant(t(), atom(), Theoria.Term.t()) :: t()
```

# `put_definition`

```elixir
@spec put_definition(t(), atom(), Theoria.Term.t(), Theoria.Term.t()) :: t()
```

---

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