Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
OBJ (programming language)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
'''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 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]]). 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-->== '''OBJ2''' is a [[programming language]] with [[Clear (specification language)|Clear]]-like parametrised modules and a functional system based on equations. ==OBJ3<!--'OBJ3' redirects here-->== '''OBJ3'''<!--boldface per WP:R#PLA--> is a version of OBJ based on [[Order theory|order]]-sorted [[rewriting]]. OBJ3 is [[Intelligent agent|agent]]-oriented and runs on [[Kyoto Common Lisp]] AKCL. ==See also== * [[Automated theorem proving]] * [[Comparison of programming languages]] * [[Formal methods]] ==References== {{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. *"Principles of OBJ2", K. Futatsugi et al., 12th POPL, ACM 1985, pp. 52β66. * {{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}} ==External links== *[https://web.archive.org/web/20051028140059/http://vl.fmnet.info/obj/ The OBJ archive] *[https://cseweb.ucsd.edu/~goguen/sys/obj.html The OBJ family] *[https://www-cse.ucsd.edu/~goguen/pps/iobj.ps Information and OBJ3 manual], [[PostScript]] format [[Category:Academic programming languages]] [[Category:Functional languages]] [[Category:Logic in computer science]] [[Category:Formal specification languages]] [[Category:Theorem proving software systems]] [[Category:Term-rewriting programming languages]] {{compu-lang-stub}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Citation
(
edit
)
Template:Compu-lang-stub
(
edit
)
Template:Prog-lang-stub
(
edit
)
Template:R shell
(
edit
)
Template:Reflist
(
edit
)