Algebraic Logic Functional language
ALF is based on Horn clause logic with equality which consists of predicates and Horn clauses for logic programming, and functions and equations for functional programming. Any functional expression can be used in a goal literal and arbitrary predicates can occur in conditions of equations. ALF uses narrowing and rewriting.
["The Implementation of the Functional-Logic Language ALF", M. Hanus and A. Schwab].