diff --git a/crates/weksa/src/daodejing.rs b/crates/weksa/src/daodejing.rs index 3a7f514..aa501f3 100644 --- a/crates/weksa/src/daodejing.rs +++ b/crates/weksa/src/daodejing.rs @@ -101,6 +101,14 @@ fn hex8(ascii: &str) -> String { ascii.bytes().map(|b| format!("{b:02x}")).collect() } +/// `(node, concept gloss, frame gloss, [(role id, filler node)])`. +type PredicationSpec = ( + &'static str, + &'static str, + &'static str, + &'static [(&'static str, &'static str)], +); + struct Spec { /// Eight ASCII characters; the packet id is their hex. id: &'static str, @@ -108,13 +116,7 @@ struct Spec { speech_act: &'static str, /// `(node, referent kind id, concept gloss)`. referents: &'static [(&'static str, &'static str, &'static str)], - /// `(node, concept gloss, frame gloss, [(role id, filler node)])`. - predications: &'static [( - &'static str, - &'static str, - &'static str, - &'static [(&'static str, &'static str)], - )], + predications: &'static [PredicationSpec], /// The author's reading of the speaker's felt state: `(feature gloss, permille)`. stance: &'static [(&'static str, u16)], note: &'static str, diff --git a/crates/weksa/src/main.rs b/crates/weksa/src/main.rs index 5e7eb28..188ec88 100644 --- a/crates/weksa/src/main.rs +++ b/crates/weksa/src/main.rs @@ -147,7 +147,7 @@ enum InventoryCommand { #[derive(Subcommand)] enum EntityCommand { /// Admit an entity, or append forms to a stored one. - Put(PutArgs), + Put(Box), /// Text projection of the entity store for review; not a store. Dump, }