OBJ (programming language): Difference between revisions

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Comparison of programming languages added in see also.
 
imported>Kvng
 
Line 2: Line 2:


==Overview==
==Overview==
It is a family of [[declarative programming|declarative]] "ultra high-level" languages. It features [[Abstract data type|abstract types]], [[generic module]]s, [[subsort]]s (subtypes with [[multiple inheritance]]), [[pattern matching|pattern-matching]] modulo equations, E-strategies (user control over [[lazy evaluation|laziness]]), module expressions (for combining modules), theories and views (for describing [[module interface]]s) for the massively parallel RRM ([[rewrite rule machine]]).
It is a family of [[declarative programming|declarative]] "ultra high-level" languages. It features [[Abstract data type|abstract types]], [[generic module]]s, [[subsort]]s (subtypes with [[multiple inheritance]]), [[pattern matching|pattern-matching]] modulo equations, E-strategies (user control over [[lazy evaluation|laziness]]), module expressions (for combining modules), theories and views (for describing [[module interface]]s) for the massively parallel RRM ([[rewrite rule machine]]).<ref name="foldoc">{{foldoc|OBJ}}</ref>
   
   
Members of the OBJ family of languages include [[CafeOBJ]], [[Eqlog]], [[FOOPS]], [[Kumo (OBJ)|Kumo]], [[Maude system|Maude]], [[OBJ2]], and [[OBJ3]].<ref>[https://cseweb.ucsd.edu/~goguen/sys/obj.html The OBJ family]</ref>
Members of the OBJ family of languages include [[CafeOBJ]], [[Eqlog]], [[FOOPS]], [[Kumo (OBJ)|Kumo]], [[Maude system|Maude]], [[OBJ2]], and [[OBJ3]].<ref>[https://cseweb.ucsd.edu/~goguen/sys/obj.html The OBJ family]</ref>
Line 35: Line 35:
[[Category:Theorem proving software systems]]
[[Category:Theorem proving software systems]]
[[Category:Term-rewriting programming languages]]
[[Category:Term-rewriting programming languages]]


{{compu-lang-stub}}
{{compu-lang-stub}}

Latest revision as of 16:21, 6 August 2025

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

References

<templatestyles src="Reflist/styles.css" />

Script error: No such module "Check for unknown parameters".

External links

  1. REDIRECT Template:Prog-lang-stub

Template:R shell