Documentation
How Objeck works inside, the language and library reference, and the tools around it. New to the language? Start with the Quick Start and the guides; the API reference lists every class.
How it works
Architecture mapOne page that shows how the compiler, file formats, VM, JIT, collector, libraries and tools fit together.
Objeck Language ArchitectureThe compiler, file formats, VM, JIT, garbage collector, libraries and CI, with diagrams.
Architecture assessment, November 2026An honest assessment of the architecture: what is sound, what is risky, what to do next.
The Objeck VM trust modelThe VM trust model: an .obe is native code, what the loader checks and what it cannot.
Objeck PerformanceBenchmarks, methodology and cross-language comparisons.
Language and libraries
Objeck Language FeaturesThe language reference with examples: classes, generics, closures, errors, strings and more.
Objeck AI & ML Developer GuideOpenAI, Gemini, Ollama, ONNX, OpenCV, ML and NLP, with working code.
Choosing a collectionChoosing between Vector, Hash, Map, Set, Cache and the unboxed collections.
Error reporting in the libraries: what exists, and one rule to adoptHow library calls report failure: Nil, Raise, status codes, and what to test.
Objeck Code ExamplesPractical code examples across the standard library.
AI Models for ObjeckWhich AI models Objeck can run, and where to get them.
Design notes
GC roots: a precise root model for the interpreter and both JITsHow compiled code tells the collector which words are references, on x64 and ARM64.
Incremental Analysis for the Language Server — DesignPer-file incremental analysis in the compiler, for a faster language server.
Query.Structured: a columnar, indexed in-memory query engine — DesignQuery.Structured: columns, zone maps, indexes, the planner and the .otab format.
AI Foundation — Design (BERT is the first consumer)The tensor and model foundation under the ONNX, BERT and inference libraries.
BERT embeddings and a trainable head — DesignBERT sentence embeddings over ONNX, and a trainable head.
`System.ML.Lab`: experiment support for a cybersecurity-ML labSystem.ML.Lab: experiments, result tables and charts for an ML lab.
Named Arguments — DesignHow named arguments are parsed, checked and compiled.
Method-Level Generics — DesignGenerics on methods, with bounds, inference and the checks they need.
Reference Parameters — DesignReference parameters: semantics and the code the compiler emits.
Reading a Recovered Error — DesignReading a recovered error: the API and what it reports.
Jagged Arrays — DesignJagged arrays: layout, access and bounds checks.
Reference
The `.otab` table file format, versions 1 and 2Byte-exact specification of the .otab table file, versions 1 and 2.
Objeck CLI OptionsEvery command-line option of obc, obr, obd and the other tools.
Writing native libraries for ObjeckWrite a native library: the C++ interface, the ABI version and parking for the collector.
Third-party dependencies: where each platform gets them, and how to check versionsWhere each platform gets its dependencies, and how to check versions.
Contributing
Adding an intrinsic (a new trap)Add a new built-in method to the compiler, VM and both JITs.
Objeck Language Regression Test SuiteThe regression suite: how to run it and how to add a test.
Loader fuzz targetsFuzz targets for the loader, and how to run them.
Tools
Editor & IDE SupportSyntax highlighting, build integration, language server and debugger for each editor.
Debian / UbuntuThe language server: features, installation and the editor clients.
Objeck LSPThe Sublime Text client for the language server.
Objeck example programsThe numbered example programs that ship with every release, in learning order.
Checkers: a game, a thinking computer and a music box, all in ObjeckA checkers game with ten AI levels, a learner, ten piece sets and generated music.