Function ukanren::run [−][src]
pub fn run<F, I, const N: usize>(f: F) -> RunStream<I> where
F: Fresh<N, Iter = I> + Clone,
I: Iterator<Item = State>,
Expand description
Top-level entry point for running a goal with fresh variables.
Example
use ukanren::{eq, run, state, Goal, ToValue};
let mut iter = run(|x| eq(&x, &5).or(eq(&x, &6)));
assert_eq!(iter.next(), Some(state![5]));
assert_eq!(iter.next(), Some(state![6]));
assert_eq!(iter.next(), None);