OBJ (programming language)
OBJ is a programming language family introduced by Joseph Goguen in 1976, and further worked on by Jose Meseguer.Overview
It is a family of declarative "ultra high-level" languages. It features abstract types, generic modules, subsorts, pattern-matching modulo equations, E-strategies, module expressions, theories and views for the massively parallel RRM.
Members of the OBJ family of languages include CafeOBJ, Eqlog, FOOPS, Kumo, Maude, OBJ2, and OBJ3.OBJ3
OBJ3 is a version of OBJ based on order-sorted rewriting. OBJ3 is agent-oriented and runs on Kyoto Common Lisp AKCL.