A higher-order logic programming language. An extension of normal logic programming
symbols may be variable or structured. This allows unification
to be performed on the predicate symbols themselves in addition to their arguments.
["HiLog as a Platform for Database Languages (Or Why Predicate Calculus is Not Enough)", W. Chen et al, Stony Brook, 2nd Intl Workshop on Database Prog Langs, Morgan Kaufmann, 1989].