# `OpenUI.Builtins`
[🔗](https://github.com/ideia4it/openui/blob/v0.1.1/lib/openui/builtins.ex#L1)

The names the language reserves for built-in functions and action steps
(language.md, sections 1.3, 3.4 and 6.3).

# `function?`

```elixir
@spec function?(String.t()) :: boolean()
```

True for a built-in function.

# `functions`

```elixir
@spec functions() :: [String.t()]
```

Built-in functions, called as `@Name(...)`.

# `lazy?`

```elixir
@spec lazy?(String.t()) :: boolean()
```

True for calls whose arguments are not evaluated up front: `@Each` runs its
template per element, and `@Run`, `@Set`, `@Reset` and `Action` name their
targets instead of evaluating them.

# `names`

```elixir
@spec names() :: [String.t()]
```

Every built-in call name, `Action` included.

# `step?`

```elixir
@spec step?(String.t()) :: boolean()
```

True for a built-in step or `Action`.

# `steps`

```elixir
@spec steps() :: [String.t()]
```

Built-in action steps, called as `@Name(...)`.

---

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