View Source Orb.DSL (Orb v0.0.15)
The main DSL which is imported automatically when you call Orb.wasm/2
.
Summary
Functions
Asserts a condition that must be true, otherwise traps.
Break from a block.
Break from a block if a condition is true.
Call local function f
.
Call local function f
, passing arguments args
when list, or single argument otherwise.
Call local function f
, passing arguments a
& b
.
Call local function f
, passing argument a
, b
, c
.
Call local function f
, passing argument a
, b
, c
, d
.
Call local function f
, passing argument a
, b
, c
, d
, e
.
Call local function f
, passing argument a
, b
, c
, d
, e
, f
.
Declare a constant string, which will be extracted to the top of the module, and its address substituted in place.
Declare a block, useful for structured control flow.
Drop the last pushed value from the stack.
Execute the passed expression, but ignore its result by immediately dropping its value.
Run code at compile-time.
Run Elixir for-comprehension at compile-time.
Declare a loop that iterates through a source.
Declare a loop.
A no-op instruction.
Pushes a value onto the current stack.
Push value then run the block. Useful for when you mutate a variable but want its previous value.
For when there’s a language feature of WebAssembly that Orb doesn’t provide. Please file an issue if there’s something you wish existed. https://github.com/RoyalIcing/Orb/issues
Return from a function if a condition is true.
Return from a function with the provided value only if a condition is true.
Denote a point in code that should not be reachable. Traps.
Used to bring back wasm-mode when inside inline/1
.
Functions
Asserts a condition that must be true, otherwise traps.
Break from a block.
Break from a block if a condition is true.
Call local function f
.
Call local function f
, passing arguments args
when list, or single argument otherwise.
Call local function f
, passing arguments a
& b
.
Call local function f
, passing argument a
, b
, c
.
Call local function f
, passing argument a
, b
, c
, d
.
Call local function f
, passing argument a
, b
, c
, d
, e
.
Call local function f
, passing argument a
, b
, c
, d
, e
, f
.
Declare a constant string, which will be extracted to the top of the module, and its address substituted in place.
Declare a block, useful for structured control flow.
Drop the last pushed value from the stack.
Execute the passed expression, but ignore its result by immediately dropping its value.
Run code at compile-time.
Run Elixir for-comprehension at compile-time.
Declare a loop that iterates through a source.
Declare a loop.
A no-op instruction.
Pushes a value onto the current stack.
Push value then run the block. Useful for when you mutate a variable but want its previous value.
For when there’s a language feature of WebAssembly that Orb doesn’t provide. Please file an issue if there’s something you wish existed. https://github.com/RoyalIcing/Orb/issues
Return from a function. You may wish to push/1
values before returning.
Return from a function if a condition is true.
Return from a function with the provided value only if a condition is true.
Denote a point in code that should not be reachable. Traps.
Useful for exhaustive conditionals or code you know will not execute.
Used to bring back wasm-mode when inside inline/1
.