OBJ Family
From the homepage (see below), Introduction:"OBJ" refers to the language family, while "OBJ2", "OBJ3", "CafeOBJ", "BOBJ", etc. refer to particular members of the family. The OBJ languages are broad spectrum algebraic specification and programming languages, based on order sorted equational logic, possibly enriched with other logics (such as rewriting logic, hidden equational logic, or first order logic), and providing the powerful module system of parameterized programming [..]