# `Yarnspinnex.Functions`
[🔗](https://github.com/atavistock/yarnspinnex/blob/main/lib/yarnspinnex/functions.ex#L1)

Built-in Yarn Spinner expression functions. Game-specific functions belong in a
`Yarnspinnex.HostFunctions` module passed to `Yarnspinnex.compile_string/2`.

# `builtin?`

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

Whether `name` is a built-in function that `call/2` implements.

# `builtins`

```elixir
@spec builtins() :: %{optional(String.t()) =&gt; non_neg_integer()}
```

Every built-in as `name => arity`.

# `call`

```elixir
@spec call(String.t(), [term()]) :: term()
```

Calls built-in `name` with already-evaluated `args`; raises on an unknown name or arity.

---

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