mirror of
https://github.com/urbit/ares.git
synced 2024-11-27 05:06:32 +03:00
hook up +mook to first time play
This commit is contained in:
parent
82e2fcbd91
commit
5970061218
@ -83,12 +83,24 @@ pub fn serf() -> io::Result<()> {
|
|||||||
let sub = T(stack, &[D(0), D(3)]);
|
let sub = T(stack, &[D(0), D(3)]);
|
||||||
let lyf = T(stack, &[D(2), sub, D(0), D(2)]);
|
let lyf = T(stack, &[D(2), sub, D(0), D(2)]);
|
||||||
// XX: TODO
|
// XX: TODO
|
||||||
let gat = interpret(stack, &mut Some(newt), eve, lyf)
|
match interpret(stack, &mut Some(newt), eve, lyf) {
|
||||||
.expect("play error handling unimplemented");
|
Ok(gat) => {
|
||||||
|
arvo = slot(gat, 7).expect("serf: play: lifecycle didn't return initial Arvo");
|
||||||
arvo = slot(gat, 7)?;
|
current_event_num = lent(eve).expect("serf: play: boot event number failure") as u64;
|
||||||
current_event_num = lent(eve).expect("TODO: handle fail here") as u64;
|
current_mug = mug_u32(stack, arvo);
|
||||||
current_mug = mug_u32(stack, arvo);
|
}
|
||||||
|
Err(NockErr::Error(trace)) => {
|
||||||
|
let tone = Cell::new(stack, D(2), trace);
|
||||||
|
let tang = mook(stack, &mut Some(newt), tone, false)
|
||||||
|
.expect("serf: play: +mook crashed on bail")
|
||||||
|
.tail();
|
||||||
|
let goof = T(stack, &[D(tas!(b"exit")), tang]);
|
||||||
|
newt.play_bail(stack, 0, 0, goof);
|
||||||
|
}
|
||||||
|
Err(NockErr::Blocked(_)) => {
|
||||||
|
panic!("play: blocked err handling unimplemented")
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// do we need to assert something here?
|
// do we need to assert something here?
|
||||||
// current_event_num = slot(writ, 6)?.as_direct().unwrap().data();
|
// current_event_num = slot(writ, 6)?.as_direct().unwrap().data();
|
||||||
|
Loading…
Reference in New Issue
Block a user