@@ -92,8 +92,8 @@ pub fn generate_jets() -> Jets {
9292 (311027486926441687148059942599447850754, DIS),
9393 (330927609077697663248483044495963838437, MIX),
9494 (39579736615539990724554083585557839000, NOT),
95− // (228256361381255837910155679973102107831, POSE),
9695 (3482046397915506566435874021936376320, LAST),
96+ (124976064672625230427889101290245200507, TRIP),
9797 ])
9898}
9999
@@ -886,27 +886,6 @@ static NOT: Jet = |ctx, n| {
886886 Some(Rc::new(Noun::Atom(target)))
887887};
888888
889−static POSE: Jet = |ctx, n| {
890− println!("runing pose");
891−
892− let (edge_noun, rule) = n.as_cell()?;
893− let edge = edge_noun.as_edge()?;
894−
895− match edge.result {
896− None => {
897− let roq = eval_gate(ctx, rule)?.as_edge()?;
898− Some(cell(
899− last(&edge.hair, &roq.hair).as_noun(),
900− Noun::from_unit(
901− roq.result
902− .map(|(result, nail)| cell(result, nail.as_noun())),
903− ),
904− ))
905− }
906− Some(_) => Some(edge_noun),
907− }
908−};
909−
910889static LAST: Jet = |_ctx, n| {
911890 let (a, b) = n.as_cell()?;
912891 let a = a.as_hair()?;
@@ -929,3 +908,10 @@ fn last<'a>(a: &'a Hair, b: &'a Hair) -> &'a Hair {
929908 }
930909 }
931910}
911+
912+static TRIP: Jet = |_ctx, n| {
913+ let a = n.as_atom()?;
914+ Some(Noun::list(
915+ a.to_bytes_le().iter().map(|b| Noun::from_u32(*b as u32)),
916+ ))
917+};