///|
fn run() -> Unit raise {
let arguments = @wasi_sys.arguments()
let environment = @wasi_sys.environment()
let preopens = @wasi_sys.preopens()
let monotonic = @wasi_sys.clock_time(@wasi_sys.Clock::Monotonic)
let random = @wasi_sys.random_bytes(8)
@wasi_sys.print("MoonBit WASI diagnostics\n")
@wasi_sys.print("arguments: \{@debug.to_string(arguments)}\n")
@wasi_sys.print("environment entries: \{environment.length()}\n")
@wasi_sys.print("preopens: \{@debug.to_string(preopens)}\n")
@wasi_sys.print("monotonic nanoseconds: \{monotonic}\n")
@wasi_sys.print("random sample: \{@debug.to_string(random)}\n")
}
///|
fn main {
run() catch {
error => {
@wasi_sys.eprint("diagnostics failed: \{@debug.to_string(error)}\n") catch {
_ => ()
}
@wasi_sys.exit(1)
}
}
}