use mun_runtime::{invoke_fn, RuntimeBuilder};
use std::env;
fn main() {
let lib_dir = env::args().nth(1).expect("Expected path to a Mun library.");
println!("lib: {}", lib_dir);
let runtime = RuntimeBuilder::new(lib_dir)
.spawn()
.expect("Failed to spawn Runtime");
let mut runtime_ref = runtime.borrow_mut();
loop {
let n: i64 = invoke_fn!(runtime_ref, "nth").unwrap_or_else(|e| e.wait(&mut runtime_ref));
let result: i64 =
invoke_fn!(runtime_ref, "fibonacci", n).unwrap_or_else(|e| e.wait(&mut runtime_ref));
println!("fibonacci({}) = {}", n, result);
runtime_ref.update();
}
}