View Source Orb.DSL (Orb v0.1.1)
The main DSL which is imported automatically when you call defw
.
Summary
Functions
Asserts a condition that must be true, otherwise traps with unreachable.
Declare a constant string, which will be extracted to the top of the module, and its address substituted in place.
Run code at compile-time.
Run Elixir for-comprehension at compile-time.
Declare a loop that iterates through an Orb.Iterator or Elixir.Range.
Declare a loop.
A no-op instruction.
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.
Used to bring back wasm-mode when inside inline/1
.
Functions
Asserts a condition that must be true, otherwise traps with unreachable.
Declare a constant string, which will be extracted to the top of the module, and its address substituted in place.
Run code at compile-time.
Run Elixir for-comprehension at compile-time.
Declare a loop that iterates through an Orb.Iterator or Elixir.Range.
sum = 0
loop i <- 1..10 do
sum = sum + i
end
sum = 0
loop _ <- 1..10 do
sum = sum + 1
end
sum = 0
loop char <- alphabet do
sum = sum + 1
end
sum = 0
loop char <- alphabet do
sum = sum + char
end
sum = 0
loop _ <- alphabet do
sum = sum + 1
end
Declare a loop.
A no-op instruction.
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
.