on master help sign in
eval
1bf6fe1iko
.gitignore+1
@@ -4,3 +4,4 @@ nock/flamegraph.svg
4nock/perf.data
4nock/perf.data
5nock/perf.data.old
5nock/perf.data.old
6nock/one.nock
6nock/one.nock
7+nock/tmp
nock/src/main.rs+3−2
@@ -1,5 +1,5 @@
1use clap::{command, error::Result, Parser, Subcommand};
1use clap::{command, error::Result, Parser, Subcommand};
2−use nock::interpreter::{eval_pulled_gate, slam_pulled_gate};
2+use nock::interpreter::{eval_pulled_gate, slam_pulled_gate, tar};
3use nock::{
3use nock::{
4 cue::cue_bytes,
4 cue::cue_bytes,
5 interpreter::{generate_interpreter_context, slam},
5 interpreter::{generate_interpreter_context, slam},
@@ -87,7 +87,8 @@ fn main() -> Result<(), std::io::Error> {
87 let nock = read_nock(&nock).unwrap();
87 let nock = read_nock(&nock).unwrap();
88
88
89 let mut ctx = generate_interpreter_context();
89 let mut ctx = generate_interpreter_context();
90+ let sig = ctx.nouns.sig.clone();
90− let result = eval_pulled_gate(&mut ctx, nock).unwrap();
91+ let result = tar(&mut ctx, sig, &nock).unwrap();
91
92
92 println!("{result}");
93 println!("{result}");
93 }
94 }
nock/src/noun.rs+1−1
@@ -343,7 +343,7 @@ fn write_noun(f: &mut fmt::Formatter, noun: &Noun, is_rhs: bool) -> fmt::Result
343 }
343 }
344 Noun::Atom(a) => {
344 Noun::Atom(a) => {
345 let atom_bytes = a.to_bytes_le();
345 let atom_bytes = a.to_bytes_le();
346− if atom_bytes.len() > 0 && atom_bytes.into_iter().all(|c| (c > 33) && c < 126) {
346+ if atom_bytes.len() > 1 && atom_bytes.into_iter().all(|c| (c > 33) && c < 126) {
347 f.write_char('%')?;
347 f.write_char('%')?;
348 let cord = unsafe { String::from_utf8_unchecked(a.to_bytes_le()) };
348 let cord = unsafe { String::from_utf8_unchecked(a.to_bytes_le()) };
349 f.write_str(&*cord)
349 f.write_str(&*cord)