OBJ (programming language): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
add date of publication
m →‎References: Corrected the second reference.
Line 15: Line 15:
==References==
==References==
* J. A. Goguen, [http://cseweb.ucsd.edu/~goguen/pps/utyop.ps Higher-Order Functions Considered Unnecessary for Higher-Order Programming]. In ''Research Topics in Functional Programming'' (June 1990). pp. 309–351.
* J. A. Goguen, [http://cseweb.ucsd.edu/~goguen/pps/utyop.ps Higher-Order Functions Considered Unnecessary for Higher-Order Programming]. In ''Research Topics in Functional Programming'' (June 1990). pp. 309–351.

* Goguen, Joseph A., et al. "Introducing OBJ." Software Engineering with OBJ. Springer, Boston, MA, 2000. pp. 3–167.
* {{citation |last1=J. A. Goguen |last2=T. Winkler |last3=J. Meseguer |last4=K. Futatsugi |last5=J.-P. Jouannaud |chapter=Introducing OBJ | title=Software Engineering with OBJ: Algebraic Specification in Action |editor-last1=J. A. Goguen |editor-last2=G. Malcolm |date=2000 |publisher=Springer Science+Business Media, New York, NY |pages=3-167 |ISBN=978-1-4757-6541-0}}
* {{FOLDOC}}
* {{FOLDOC}}



Revision as of 04:38, 28 January 2021

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 (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).

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.

See also

References

  • J. A. Goguen; T. Winkler; J. Meseguer; K. Futatsugi; J.-P. Jouannaud (2000), "Introducing OBJ", in J. A. Goguen; G. Malcolm (eds.), Software Engineering with OBJ: Algebraic Specification in Action, Springer Science+Business Media, New York, NY, pp. 3–167, ISBN 978-1-4757-6541-0
  • 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.

External links