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, , (subtypes with multiple inheritance), pattern-matching modulo equations, E-strategies (user control over laziness), module expressions (for combining modules), theories and views (for describing ) for the massively parallel RRM ().
Members of the OBJ family of languages include , , , , Maude, OBJ2, and OBJ3. [1]
OBJ2[]
OBJ2 is a programming language with -like parametrised modules and a functional system based on equations.
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, Higher-Order Functions Considered Unnecessary for Higher-Order Programming. In Research Topics in Functional Programming (June 1990). pp. 309–351.
- "Principles of OBJ2", K. Futatsugi et al., 12th POPL, ACM 1985, pp. 52–66.
- 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
External links[]
Categories:
- Academic programming languages
- Functional languages
- Logic in computer science
- Formal specification languages
- Theorem proving software systems
- Term-rewriting programming languages
- Programming language topic stubs