diff --git a/syndicate-server/Cargo.toml b/syndicate-server/Cargo.toml index a1f0cb5..f42febc 100644 --- a/syndicate-server/Cargo.toml +++ b/syndicate-server/Cargo.toml @@ -6,6 +6,7 @@ edition = "2018" [dependencies] syndicate = { path = "../syndicate", version = "^0.2.0" } +syndicate-macros = { path = "../syndicate-macros", version = "^0.2.0" } futures = "0.3.5" diff --git a/syndicate-server/src/main.rs b/syndicate-server/src/main.rs index 567f295..8a98892 100644 --- a/syndicate-server/src/main.rs +++ b/syndicate-server/src/main.rs @@ -19,9 +19,7 @@ use syndicate::schemas::internal_protocol::_Any; use syndicate::schemas::gatekeeper; use syndicate::sturdy; -use syndicate::value::Map; use syndicate::value::NestedValue; -use syndicate::value::Value; use tokio::net::TcpListener; use tokio::net::TcpStream; @@ -286,7 +284,6 @@ fn handle_resolve( a: gatekeeper::Resolve, ) -> DuringResult> { use syndicate::schemas::dataspace; - use syndicate::schemas::dataspace_patterns as p; let gatekeeper::Resolve { sturdyref, observer } = a; let queried_oid = sturdyref.oid.clone(); @@ -316,23 +313,7 @@ fn handle_resolve( .create_cap(t.state); if let Some(oh) = ds.assert(t, &dataspace::Observe { // TODO: codegen plugin to generate pattern constructors - pattern: p::Pattern::DCompound(Box::new(p::DCompound::Rec { - ctor: Box::new(p::CRec { - label: Value::symbol("bind").wrap(), - arity: 3.into(), - }), - members: Map::from_iter(vec![ - (0.into(), p::Pattern::DLit(Box::new(p::DLit { - value: queried_oid, - }))), - (1.into(), p::Pattern::DBind(Box::new(p::DBind { - pattern: p::Pattern::DDiscard(Box::new(p::DDiscard)), - }))), - (2.into(), p::Pattern::DBind(Box::new(p::DBind { - pattern: p::Pattern::DDiscard(Box::new(p::DDiscard)), - }))), - ].into_iter()) - })), + pattern: syndicate_macros::pattern!(""), observer: handler, }) { Ok(Some(Box::new(move |_ds, t| Ok(t.retract(oh)))))