Computer Dictionary/Algebraic Logic Functional language
ALF is based on Horn clause logic with equality which consists of predicates and Horn clauses for [[Computer Dictionary/logic programming|logic programming]], and functions and equations for [[Computer Dictionary/functional programming|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].