CAFEOBJ(1)
π CAFEOBJ(1) β the cafeobj manual, bestie edition π
okay so this is cafeobj, from the General Commands Manual section of your local man pages, and honestly? she's iconic. let's get into it π
β¨ NAME β¨
cafeobj β algebraic specification and programming language
πΈ SYNOPSIS πΈ
cafeobj [OPTION]... [FILES]...
π¦ DESCRIPTION π¦
Starts the CafeOBJ interpreter. that's the whole vibe, she boots up and she's ready π
CafeOBJ is a most advanced formal specification language, and the way she got there is by inheriting a whole stack of advanced features from OBJ (or, to be exact, OBJ3) algebraic specification language. the receipts: flexible mix-fix syntax, a powerful and clear typing system with ordered sorts, parameteric modules and views for instantiating the parameters, and module expressions, etc. all of it, inherited, no cap β¨
CafeOBJ is a language for writing formal (i.e. mathematical) specifications of models for wide varieties of software and systems, and for verifying properties of them. she implements equational logic by rewriting, which means she can also be used as a powerful interactive theorem proving system. specifiers can write proof scores in CafeOBJ too, and do proofs by executing those proof scores. it's giving math but make it executable π
CafeOBJ has state-of-art rigorous logical semantics based on institutions. the CafeOBJ cube shows the structure of the various logics underlying the combination of the various paradigms implemented by the language. proof scores in CafeOBJ are also based on institution based rigorous semantics, and can be constructed using a complete set of proof rules. the rigor? immaculate. the cube? cube-ing π
π₯ OPTIONS π₯
okay bestie, there are two classes of options here and you need to know which class you're in before you start flinging flags around. the first class is for the cafeobj wrapper script, and it lets you pick the underlying Common Lisp interpreter and adjust search path parameters. π
-engine NAMEβ selects the underlying common lisp engine. if you don't give this one, the first one selected during build time is used. (default behavior, she picks for you π«Ά)-list-enginesβ lists all available common lisp engines. window shopping, but for lisp ποΈ-wrapper-libpath PATHβ sets the path where memory dumps of the lisp interpreters are found-wrapper-sharepath PATHβ sets the path where CafeOBJ initialization files are searched
then the second set of options, and these ones are directed at the CafeOBJ interpreter directly. no middleman π§
-helpβ print a help message-qβ do not load user's initialization file-batchβ run in batch mode-p PATHβ gives the standard prelude file defining modules+p PATHβ load additional prelude file-l DIR-LISTβ set list of pathnames for module search path, separated by colons+l DIR-LISTβ adds a list of pathname for module search pathFILESβ files that are loaded at startup time in order.
π quick reminder that-pand+pare not the same thing and neither are-land+l. one sets, one adds. she is particular about this. do not mix them up, i'm begging π
π AUTHOR π
Toshimi Sawada and Norbert Preining. Contact: info@cafeobj.org
π COPYRIGHT π
Copyright Β© 2000-2014 Toshima Sawada, Norbert Preining. License BSD.
THIS SOFTWARE IS SUPPLIED COMPLETELY "AS IS". CafeOBJ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT-ABILITY of FITNESS FOR A PARTICULAR PURPOSE.
π yes the all-caps is doing a lot but it's real and it matters β no warranty, none, zero, she said what she said. "AS IS" is the whole mood. respect the terms bestie π«Ά
and that's the page!! this one came out of the User Manuals collection, dated September 2014, filed under the name CAFEOBJ with the number 1 because that's just how the section works. ok bye, go write some proof scores, ily πβ¨π
π¦ where this page comes from
- debian bookworm: cafeobj 1.6.0-2
- ubuntu jammy: cafeobj 1.6.0-2
- ubuntu noble: cafeobj 1.6.0-2build1
- ubuntu resolute: cafeobj 1.6.0-2build1
- ubuntu stonking: cafeobj 1.6.0-2build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms