Yarnspinnex.Functions (yarnspinnex v0.3.0)

Copy Markdown View Source

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

Summary

Functions

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

Every built-in as name => arity.

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

Functions

builtin?(name)

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

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

builtins()

@spec builtins() :: %{optional(String.t()) => non_neg_integer()}

Every built-in as name => arity.

call(name, args)

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

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