Skip to content
Main menu
  • Main page
  • Discover
  • Unexpected connections
  • Topics
  • Random article
  • Search
Your library
  • Saved articles
  • Recent discoveries
  • Rabbit-hole trails
Topic areas
  • Computer Science
  • Mathematics
  • Physics
  • Engineering
  • Biology
  • Economics
  • Curiosities
WikiholeDeeper into Wikipedia
EnglishEN
  • Saved
  • History

  • Article text and media come live from Wikipedia via the official MediaWiki API and are available under the Creative Commons Attribution-ShareAlike 4.0 License; additional terms may apply. Each article links to its source and revision.
  • WikiHole is an independent project and is not affiliated with the Wikimedia Foundation.
  • How ranking works
  • All topics
  • Reading history
  • Random article
  • MediaWiki API

OBJ (programming language)

  • Article
  • Rabbit hole
  • Read
  • View history
Tools
Actions
  • Read
  • View history
General
  • Recent changes
  • Related articles
  • Random discovery
This article
Reading time
1 min
Topic
Computer Science
Views
58 in 14 days
Last edited
6 Aug 2025
Print/export
  • Printable version
In other projects
  • Wikidata item
From Wikipedia, the free encyclopedia
Rabbit hole:
  1. OBJ (programming language)

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

Loading the rest of the article…

Recent changes

Rabbit hole

Where OBJ (programming language) leads. Every connection below has a source: a link in this article, a shared Wikipedia category, or CirrusSearch text similarity. Articles already on your trail are left out.

Contents
  • (Top)
  • Overview
  • OBJ2
  • OBJ3
  • See also
  • References
  • External links
  • Recent changes
  • Rabbit hole
Contents
Contents8 sections
  • (Top)
  • Overview
  • OBJ2
  • OBJ3
  • See also
  • References
  • External links
  • Recent changes
  • Rabbit hole

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

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

OBJ2

OBJ2 is a programming language with Clear-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

  • Automated theorem proving
  • Comparison of programming languages
  • Formal methods

References

  1. 1This 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. 2The OBJ family
  • 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

  • The OBJ archive
  • The OBJ family
  • Information and OBJ3 manual, PostScript format
Study aids for OBJ (programming language)

Terminology

OBJ
OBJ is a programming language family introduced by Joseph Goguen in 1976, and further worked on by Jose Meseguer.
OBJ2
OBJ2 is a programming language with Clear-like parametrised modules and a functional system based on equations.
OBJ3
OBJ3 is a version of OBJ based on order-sorted rewriting.

Terms the article defines in bold, quoted in context.

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

119 words · 2 references · revision 1304534714 · CC BY-SA 4.0

General
  • Recent changes
  • Related articles
  • Random discovery
This article
Reading time
1 min
Topic
Computer Science
Views
58 in 14 days
Last edited
6 Aug 2025

Key concepts

  • Programming language2
  • Joseph Goguen1
  • Jose Meseguer1
  • Declarative programming1
  • Abstract data type1
  • Multiple inheritance1
  • Pattern matching1
  • Lazy evaluation1
  • Maude system1
  • OBJ21

The articles this one links to most, weighted towards the introduction.

Print/export
  • Printable version
In other projects
  • Wikidata item
Created
13 Oct 2004
History
45 edits
30 contributors
No edits in the last 30 days
Last edited
6 Aug 2025

45 revisions in total · 30 contributors

  1. 6 Aug 2025, 16:21 UTCKvngfoldoc attribution Template_talk:FOLDOC#It_doesn't_matter_whether_readers_care+38diff
  2. 10 Sept 2023, 22:06 UTCAnonymous contributorComparison of programming languages added in see also.+42diff
  3. 1 Jan 2023, 15:55 UTCThatsme314m§ Overview spcae−1diff
  4. 30 Nov 2021, 20:01 UTCKvngmmv {{FOLDOC}} to talk−16diff
  5. 22 Aug 2021, 00:12 UTCMathnerd314159merge in OBJ2+363diff
  6. 7 Feb 2021, 03:23 UTCCitation botAlter: pages. Formatted dashes. | You can use this bot yourself. Report bugs here. | Suggested by Abductive | Category:Academic programming languages | via #UCB_Category 17/35+2diff
  7. 28 Jan 2021, 07:28 UTCLaiwoonsium§ References Renamed the section as ==Bibliography== because no references are cited.+2diff
  8. 28 Jan 2021, 04:38 UTCLaiwoonsium§ References Corrected the second reference.+254diff

View full revision history

Created
13 Oct 2004
History
45 edits
30 contributors
No edits in the last 30 days
Last edited
6 Aug 2025

Related articles are unavailable right now.

Wikipedia is rate limiting us right now. Try again in a minute.