# Native User-defined tuple predicate ## Signature native(predicate: (Tuple -> Boolean)) -> Predicate ## Examples ->(t){ t.city == 'London' } ## Description So called 'native' predicates are functions computing truth values from tuples. ## Implementation notes Native predicates can be any ruby Proc object of arity 1. The argument will be a Tuple instance. the Proc SHOULD return true or false, but ruby patterns for boolean expressions are supported to (such a nil evaluating to false, etc.). Note that, as of current Alf version, native predicates cannot be delegated to an underlying data engine, and are not compiled to SQL in particular. Please always use predicate factories such as `eq(:city, 'London')` if possible, as they do not hurt logical optimizations and compilation.