Functional programming plus unification. "Lazy" in the sense that expressions are reduced only if they are not unifiable.
["FUNLOG: A Computational Model Integrating Logic Programming and Functional Programming", P.A. Subrahmanyam et al, in Logic Programming: Functions, Relations and Equations, D. DeGroot et al eds, P-H 1986].