OBJ (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). For the massively parallel RRM (Rewrite Rule Machine).
["Higher-Order Functions Considered Unnecessary for Higher-Order Programming", J.A. Goguen, in Research Topics in Functional Programming].
This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.