Visualize.VirtualSource.Sandbox.Allowlist (Visualize v0.8.0)

Copy Markdown View Source

What a stored virtual-source function may call (spec/08 §10.5.2, D-194): the allowlist #643 decided on 2026-10-15, as explicit {function, arity} lists — never "a module minus a few".

Each module's allowed list and its excluded list together are exactly its exports on Elixir 1.20.4 and OTP 29; the test suite holds them to it, so a function a new Elixir adds fails that test until it is reviewed and listed. Visualize.Data (#769) is the library's own and held the same way: a function added to it is listed before a stored function may call it.

Summary

Functions

A module's allowed {function, arity} list; [] for a module not on the list.

A module's excluded {{function, arity}, reason} list, reason one of :nondeterministic, :deprecated, :atoms and :internal.

The {function, arity} of every Kernel function and operator, and every special form at Kernel.SpecialForms' arity, a stored function may use.

The modules a stored function may call, in order (spec/08 §10.5.2).

Functions

allowed(module)

@spec allowed(module()) :: [{atom(), arity()}]

A module's allowed {function, arity} list; [] for a module not on the list.

excluded(module)

@spec excluded(module()) :: [{{atom(), arity()}, atom()}]

A module's excluded {{function, arity}, reason} list, reason one of :nondeterministic, :deprecated, :atoms and :internal.

kernel()

@spec kernel() :: [{atom(), arity()}]

The {function, arity} of every Kernel function and operator, and every special form at Kernel.SpecialForms' arity, a stored function may use.

modules()

@spec modules() :: [module()]

The modules a stored function may call, in order (spec/08 §10.5.2).