What a stored derived-source function may call (spec/02 §6.2, visualize D-194): the allowlist
visualize#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. Macaw.Data.Ops is the library's
own and held the same way: through it a stored function reaches the registered transforms
and aggregates by literal name, and which ones is the registry's, never a list here
(spec/04 §6). Ported from visualize's Visualize.VirtualSource.Sandbox.Allowlist.
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/02 §6.2).
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.
@spec modules() :: [module()]
The modules a stored function may call, in order (spec/02 §6.2).