OBJ (programming language): Difference between revisions

Content deleted Content added
merge in OBJ2
 
(3 intermediate revisions by 3 users not shown)
Line 2:
 
==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]]).<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>
 
==OBJ2<!--'OBJ2' redirects here-->==
Line 15:
==See also==
* [[Automated theorem proving]]
* [[Comparison of programming languages]]
* [[Formal methods]]
 
==BibliographyReferences==
{{Reflist}}
* 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.
Line 23 ⟶ 24:
* {{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}}
 
==External links==
*[https://web.archive.org/web/20051028140059/http://vl.fmnet.info/obj/ The OBJ archive]
Line 36 ⟶ 35:
[[Category:Theorem proving software systems]]
[[Category:Term-rewriting programming languages]]
 
 
{{compu-lang-stub}}