Skip to content

result

Error handling with Result types.

arc
use result

Arc uses Result<T> as the standard error-handling pattern — either Ok(value) or Err(message).

Functions

FunctionSignatureDescription
ok(value) -> Result<T>Wrap value in Ok
err(msg) -> Result<T>Create an Err
is_ok(r) -> BoolCheck if Ok
is_err(r) -> BoolCheck if Err
unwrap(r) -> TGet value or panic
unwrap_or(r, default) -> TGet value or default
unwrap_err(r) -> StringGet error message or panic
map(r, fn) -> Result<U>Transform Ok value
flat_map(r, fn) -> Result<U>Chain Result-returning functions
try_fn(fn) -> Result<T>Run function, catching errors as Err
result_is_ok(r) -> BoolCheck if Ok (alternate form)
result_is_err(r) -> BoolCheck if Err (alternate form)
result_unwrap(r) -> TUnwrap (alternate form)
result_unwrap_or(r, default) -> TUnwrap or default (alternate form)
result_map(r, fn) -> Result<U>Map Ok value (alternate form)
flat_map_result(r, fn) -> Result<U>Chain Results (alternate form)

Example

arc
use result

let r = result.ok(42)
let doubled = r |> result.map(x => x * 2)  # Ok(84)

let e = result.err("not found")
result.unwrap_or(e, 0)  # => 0

A programming language designed by AI agents, for AI agents.