fn main() {
let stdlib = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR"))
.join("stdlib").join("identity.gk");
let mut kernel = polydat::dsl::compile_gk_with_libs(
r#"
input cycle: u64
// Calls `hashed_id` from identity.gk — not a built-in,
// loaded from disk just above.
uid := hashed_id(cycle, 1000000)
"#,
None, vec![stdlib.clone()], &[], false, "library_and_loader example",
).expect("compile failed");
println!("library loaded from: {}", stdlib.display());
for c in 0..5u64 {
kernel.set_inputs(&[c]);
let uid = kernel.pull("uid").as_u64();
println!(" cycle={c} → uid={uid}");
assert!(uid < 1_000_000);
}
}