pub fn recognise(
f: &Core,
defs: &BTreeMap<Arc<str>, Def>,
captured: &BTreeSet<VarId>,
) -> Result<Recognised, Refusal>Expand description
Try to read a loop’s per-element function as a join.
f is the function as written — a Lam of one parameter, or a global that resolves to one.
captured is the set of variables the enclosing plan has operators for, which is what decides
whether the collection being looked up in is something the plan can index.