OBJ (programming language)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

OBJ is a programming language family introduced by Joseph Goguen in 1976, and further worked on by Jose Meseguer.

Overview

[edit | edit source]

It is a family of declarative "ultra high-level" languages. It features 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).[1]

Members of the OBJ family of languages include CafeOBJ, Eqlog, FOOPS, Kumo, Maude, OBJ2, and OBJ3.[2]

OBJ2 is a programming language with Clear-like parametrised modules and a functional system based on equations.

OBJ3 is a version of OBJ based on order-sorted rewriting. OBJ3 is agent-oriented and runs on Kyoto Common Lisp AKCL.

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ This article is based on material taken from OBJ at 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.
  2. ^ The OBJ family
[edit | edit source]