An extension of the _(Prolog) *(logic) *(programming language) to support simply-typed lambda expressions. As such, it is not really _(higher-order) in the _(functional) sense, but it does seem to support polymorphism, abstract data types, and some modularity over conventional Prolog. See _(http://www.cse.psu.edu/~dale/lProlog/).