@@ -42,6 +42,7 @@ pub struct InterpreterContext {
42 pub nouns: Nouns,
42 pub nouns: Nouns,
43 pub big_uints: BigUints,
43 pub big_uints: BigUints,
44 pub memo: BTreeMap<Hash, Rc<Noun>>,
44 pub memo: BTreeMap<Hash, Rc<Noun>>,
45+ pub slog: fn(&String) -> (),
47pub fn generate_interpreter_context() -> InterpreterContext {
48pub fn generate_interpreter_context() -> InterpreterContext {
@@ -83,6 +84,7 @@ pub fn generate_interpreter_context() -> InterpreterContext {
84 big_uints,
85 big_uints,
85 memo: BTreeMap::new(),
86 memo: BTreeMap::new(),
87+ slog: |str: &String| eprintln!("{}", str),
@@ -300,7 +302,7 @@ fn tar_u32<'a>(
300 let noun = tar(ctx, subj.clone(), &q)?;
302 let noun = tar(ctx, subj.clone(), &q)?;
301 let (_prio, tank) = noun.as_cell().ok_or(TTanks::new())?;
303 let (_prio, tank) = noun.as_cell().ok_or(TTanks::new())?;
303− eprintln!("{}", ram(ctx, tank.clone()).unwrap_or(String::new()));
305+ (ctx.slog)(&ram(ctx, tank.clone()).unwrap_or(String::new()));
304 eval(ctx)
306 eval(ctx)
306 eval(ctx)
308 eval(ctx)