@@ -7,7 +7,7 @@ use std::{
9use crate::{
9use crate::{
10− interpreter::InterpreterContext,
10+ interpreter::{call_gate, InterpreterContext},
11 noun::{self, cell, Atom, Noun},
11 noun::{self, cell, Atom, Noun},
@@ -38,6 +38,7 @@ pub fn generate_jets() -> Jets {
38 (224124632134128248273067864092142254001, INTO),
38 (224124632134128248273067864092142254001, INTO),
39 (22365719601138689598430859488399820563, JOIN),
39 (22365719601138689598430859488399820563, JOIN),
40 (211253539934007667533839299235896640130, LENT),
40 (211253539934007667533839299235896640130, LENT),
41+ (104838119266193725126177792605193739824, LEVY),
@@ -287,3 +288,14 @@ static JOIN: Jet = |_ctx, n| {
289static LENT: Jet = |_ctx, n| Rc::new(Noun::from_u32(n.list_iter().fold(0u32, |l, _| l + 1)));
290static LENT: Jet = |_ctx, n| Rc::new(Noun::from_u32(n.list_iter().fold(0u32, |l, _| l + 1)));
292+static LEVY: Jet = |ctx, n| {
293+ let (a, b) = n.as_cell().unwrap();
295+ .all(|n| call_gate(ctx, b.clone(), n) == ctx.nouns.y)