on master help sign in
cleanup
8c2711fiko
nock/src/jets.rs+4−9
@@ -90,17 +90,13 @@ pub type Jet = fn(ctx: &InterpreterContext, Rc<Noun>) -> Rc<Noun>;
90
90
91static BINARY_ATOM: fn(Rc<Noun>, fn(&Atom, &Atom) -> Atom) -> Rc<Noun> =
91static BINARY_ATOM: fn(Rc<Noun>, fn(&Atom, &Atom) -> Atom) -> Rc<Noun> =
92 |n: Rc<Noun>, f: fn(&Atom, &Atom) -> Atom| {
92 |n: Rc<Noun>, f: fn(&Atom, &Atom) -> Atom| {
93− let Noun::Cell { p, q, .. } = (*n).clone() else {
93+ let (p, q) = n.as_cell().unwrap();
94− panic!()
95− };
96 Rc::new(Noun::Atom(f(p.as_atom().unwrap(), q.as_atom().unwrap())))
94 Rc::new(Noun::Atom(f(p.as_atom().unwrap(), q.as_atom().unwrap())))
97 };
95 };
98
96
99static BINARY_ATOM_LOOB: fn(&InterpreterContext, Rc<Noun>, fn(&Atom, &Atom) -> bool) -> Rc<Noun> =
97static BINARY_ATOM_LOOB: fn(&InterpreterContext, Rc<Noun>, fn(&Atom, &Atom) -> bool) -> Rc<Noun> =
100 |ctx: &InterpreterContext, n: Rc<Noun>, f: fn(&Atom, &Atom) -> bool| {
98 |ctx: &InterpreterContext, n: Rc<Noun>, f: fn(&Atom, &Atom) -> bool| {
101− let Noun::Cell { p, q, .. } = (*n).clone() else {
99+ let (p, q) = n.as_cell().unwrap();
102− panic!()
103− };
104
100
105 if f(p.as_atom().unwrap(), q.as_atom().unwrap()) {
101 if f(p.as_atom().unwrap(), q.as_atom().unwrap()) {
106 ctx.nouns.sig.clone()
102 ctx.nouns.sig.clone()
@@ -111,9 +107,8 @@ static BINARY_ATOM_LOOB: fn(&InterpreterContext, Rc<Noun>, fn(&Atom, &Atom) -> b
111
107
112static BINARY_ATOM_PAIR: fn(Rc<Noun>, fn(&Atom, &Atom) -> (Atom, Atom)) -> Rc<Noun> =
108static BINARY_ATOM_PAIR: fn(Rc<Noun>, fn(&Atom, &Atom) -> (Atom, Atom)) -> Rc<Noun> =
113 |n: Rc<Noun>, f: fn(&Atom, &Atom) -> (Atom, Atom)| {
109 |n: Rc<Noun>, f: fn(&Atom, &Atom) -> (Atom, Atom)| {
114− let Noun::Cell { p, q, .. } = (*n).clone() else {
110+ let (p, q) = n.as_cell().unwrap();
115− panic!()
111+
116− };
117 let (a, b) = f(p.as_atom().unwrap(), q.as_atom().unwrap());
112 let (a, b) = f(p.as_atom().unwrap(), q.as_atom().unwrap());
118 cell(Rc::new(Noun::Atom(a)), Rc::new(Noun::Atom(b)))
113 cell(Rc::new(Noun::Atom(a)), Rc::new(Noun::Atom(b)))
119 };
114 };