Tags: Programming Language.
OBJ is a programming language family introduced by Joseph Goguen in 1976.A family of declarative ultra high-level languages. Abstract types generic modules subsorts (subtypes with multiple inheritance) pattern-matching modulo equations E-strategies (user control over laziness) module expressions (for combining modules) theories and views (for describing module interfaces).