Hello World

June 28, 2026 Β· View on GitHub

Object-oriented β€’ JIT-compiled β€’ AI-native β€’ Robust APIs


GitHub CodeQL CI Build Release Build Latest Release

Why Objeck?

Built for modern development:

  • πŸš€ JIT-compiled for performance (ARM64/AMD64)
  • πŸ€– AI-native: OpenAI, Gemini, Ollama, ONNX, OpenCV β€” no third-party packages
  • 🌐 Network-complete: HTTP/1.1 Β· HTTP/2 Β· HTTP/3/QUIC Β· WebSocket Β· DTLS β€” all standard library
  • πŸ’» Developer-friendly: REPL shell, LSP plugins for VSCode/Sublime/Kate, DAP debugger
  • 🌍 Cross-platform: Linux, macOS, Windows (x64 + ARM64/RPI)
  • πŸ”§ Full-featured: Threads, generics, closures, reflection, serialization

Perfect for: AI/ML prototyping β€’ Computer vision β€’ Web services β€’ Real-time applications β€’ Game development

Try It Online

πŸ‘‰πŸ½ Playground β€” 33 demos across 7 categories, Monaco editor, no install required.

Quick Start

# Install (example for macOS/Linux)
curl -LO https://github.com/objeck/objeck-lang/releases/download/v2026.6.4/objeck-linux-x64_2026.6.4.tgz
tar xzf objeck-linux-x64_2026.6.4.tgz
export PATH=$PATH:./objeck-lang/bin
export OBJECK_LIB_PATH=./objeck-lang/lib

# Hello World
echo 'class Hello {
  function : Main(args : String[]) ~ Nil {
    "Hello World"->PrintLine();
  }
}' > hello.obs

# Compile and run (modern syntax)
obc hello && obr hello

πŸ“– Full docs: objeck.org πŸ’‘ Examples: github.com/objeck/objeck-lang/programs

What's New

v2026.6.4 βœ…

  • Multithreaded GC stability fix β€” fixed an intermittent crash (0xC0000005) in the generational minor garbage collector during thread startup: a thread being spawned held its self and argument as untracked raw pointers, so a moving collection during the spawn handoff could relocate the object and leave the new thread a stale reference. These are now tracked and relocated across collection. Surfaced only under heavy multithreaded churn

v2026.6.3

  • Generational minor garbage collection β€” minor (nursery) collection is now enabled: a nursery-full collection scans only the remembered set plus roots and recycles the young generation without sweeping the old generation, falling back to a full major GC under old-gen pressure. JIT and interpreter reference stores emit the write barrier on AMD64 and ARM64, and the nursery is now zeroed at allocation time instead of inside the stop-the-world pause. See performance β†’
  • Closure ergonomics β€” three quality-of-life additions for function references: call a FuncRef directly with v() (no explicit ->Call()); write bare lambdas with an inferred return type β€” \(x) => x * 2 β€” that auto-wrap into FuncRef<R> when assigned, returned, passed as a method argument, or stored as a collection element; and give a lambda a block body (\(x) => { ... }). A multi-capture closure heap-corruption bug is fixed β€” captures now use closure-local ids
  • New System.Concurrency library β€” structured concurrency with TaskScope, Task, and Monitor, plus runtime.* process/GC/CPU diagnostics (GC pause, promotion, allocation rate, lock contention, thread/STW/nursery counters) read through Runtime->GetProperty("runtime.…")

v2026.6.2

  • Major JIT & GC performance work β€” the cooperative stop-the-world GC safepoint poll (new in v2026.6.1) is now nearly free in JIT'd code: an inline flag test that only calls the collector when a collection is active, reading &stw_active from a register cached at the prologue (R12/X19) and emitted only at loop back-edges. fannkuchredux roughly halved (~59s β†’ ~31s), recovering the full regression on AMD64 and ARM64. Closure / function-reference calls (DYN_MTHD_CALL) now auto-JIT on both architectures β€” spectralnorm reaches native-level speed once warm (43s interpreted β†’ 0.46s at n=2000, matching the hand-native kernel). Nursery allocation for NEW_OBJ_INST is inlined on AMD64, and the interpreter gains a float fast-path. See performance β†’
  • JIT correctness hardening β€” a sweep of float-codegen and tail-call bugs surfaced by forcing JIT (OBJECK_JIT_THRESHOLD=1): AMD64 Floor/Ceil/ArcTan codegen and two latent DYN_MTHD_CALL miscompiles; ARM64 transcendental/round cached-local operands, dropped libc float result/argument, working-stack registers clobbered across inlined float calls, and an imm19 backpatch SIGILL (ml_gbt); and a TCO deferred-load corruption (e.g. return Gcd(b, a%b)) on both architectures; and an ARM64 negative-offset load bug that crashed when a JIT-compiled closure captured in a collection (Vector<FuncRef>) was invoked β€” its memory encoders couldn't represent a negative displacement and read the wrong stack slot, now routed through a signed-offset LDUR/STUR helper (x64 was never affected). The full ARM64 suite is now green at OBJECK_JIT_THRESHOLD=1
  • UTF-8 in any locale β€” obc reading UTF-8 source and obr loading/printing UTF-8 strings no longer break under a C/non-UTF-8 process locale; sys.h now uses systemic locale-independent UTF-8 codecs instead of mbstowcs/wcstombs
  • VM shutdown race fixed β€” worker threads are quiesced before program teardown, removing a JIT-shutdown thread race
  • Int->MinSize() now returns INT64_MIN (was INT64_MAX β€” the float 2->Pow(63) path saturated on conversion)
  • Native cross-language perf gate (CI) β€” a non-Docker harness measures Objeck against Python/Ruby/LuaJIT/Java with committed baseline ratios, so performance regressions are caught automatically

πŸ“‹ Full changelog β€’ πŸ—ΊοΈ Roadmap β€’ πŸ“ Editor & IDE setup

Downloads

Latest Release: v2026.6.4

PlatformArchitectureDownload
Windowsx64MSI Installer / ZIP
WindowsARM64MSI Installer / ZIP
Linuxx64TGZ Archive
LinuxARM64TGZ Archive
macOSARM64TGZ Archive
LSPAll platformsZIP Archive

πŸ“¦ Alternative: Sourceforge β€’ πŸ“š API Docs: objeck.org/api/latest

Note: All Windows installers are digitally signed. Releases are fully automated via CI/CD and built on GitHub Actions runners.

See It In Action

HTTP/2 Client

use Web.HTTP;

# Persistent connection β€” multiple requests share one TLS session
client := Http2Client->New("httpbin.org");
resp := client->Get("/get");
"Status: {$resp->GetCode()}"->PrintLine();    # Status: 200

body := "{\"lang\":\"objeck\"}"->ToByteArray();
resp2 := client->Post("/post", body, "application/json");
client->Close();

# One-liner for quick requests
resp := Http2Client->QuickGet(Url->New("https://httpbin.org/get"));

HTTP/3 / QUIC Client

use Web.HTTP;

# QUIC over UDP β€” zero round-trip connection on repeat visits
client := Http3Client->New("quic.nginx.org");
resp := client->Get("/");
"Status: {$resp->GetCode()}"->PrintLine();    # Status: 200
client->Close();

# One-liner
resp := Http3Client->QuickGet(Url->New("https://quic.nginx.org/"));

AI Integration

# OpenAI Realtime API - get text AND audio
response := Realtime->Respond("How many James Bond movies?",
                              "gpt-4o-realtime-preview", token);
text := response->GetFirst();
audio := response->GetSecond();
Mixer->PlayPcm(audio->Get(), 22050, AudioFormat->SDL_AUDIO_S16LSB, 1);

Face Recognition

# SCRFD detector + ArcFace R50 embeddings (InsightFace buffalo_l)
session := FaceSession->New("det_10g.onnx", "w600k_r50.onnx");
r1 := session->Recognize(img1_bytes, 0.5);
r2 := session->Recognize(img2_bytes, 0.5);
faces1 := r1->GetResults(); faces2 := r2->GetResults();
sim := FaceSession->Compare(faces1[0]->GetEmbedding(), faces2[0]->GetEmbedding());
"Same person: {$(sim > 0.35)}"->PrintLine();

Computer Vision

# OpenCV face detection
detector := FaceDetector->New("haarcascade_frontalface_default.xml");
faces := detector->Detect(image);
faces->Size()->PrintLine();  # "5 faces detected"

Natural Language Processing

# Sentiment analysis and TF-IDF
text := "This product is absolutely wonderful!";
sentiment := SentimentAnalyzer->Classify(text);  # "positive"

# Train TF-IDF on documents
docs := ["cats are pets", "dogs are pets", "birds can fly"];
tfidf := TF_IDF->New();
tfidf->Fit(docs);
vector := tfidf->Transform("cats and dogs");  # [0.47, 0.0, 0.47, ...]

🎯 More examples

Language Features

Object-Oriented

  • Inheritance, interfaces, generics
  • Type inference and boxing
  • Reflection and dependency injection
  • See OOP examples β†’

Functional

Strings & Formatting

  • Interpolation with expressions: "{$i + 1}", "{$obj->M()}"
  • Format specifiers: "{$pi:.2}", "{$n:05}", "{$v:x}"
  • Positional templates: String->Format("{0} = {1}", a, b)
  • See string features β†’

Platform Support

Libraries

AI & Machine Learning β€” πŸ“– AI Developer Guide Β· GitHub source Β· πŸ€– Getting Models

  • OpenAI β€” chat, vision, realtime audio, image generation, embeddings, moderation, batch
  • Gemini β€” chat, vision, search grounding, files, context caching, batch embeddings
  • Ollama β€” local LLM chat, vision, and embeddings; recommended models: llama3.2, phi3, llava (get models β†’)
  • NLP β€” tokenization, TF-IDF, text similarity, sentiment analysis
  • OpenCV β€” computer vision: detection, transforms, video
  • ONNX Runtime β€” local ML inference: YOLO, ResNet, DeepLab, OpenPose, Phi-3, face recognition (get models β†’)
  • Face Recognition β€” SCRFD detector + ArcFace R50 (InsightFace buffalo_l)
  • Phi-3 / Phi-3 Vision β€” local SLM text and multimodal inference

Web & Networking

Data

Other

Development

Modern tooling and practices:

  • πŸ€– Claude Code for pair programming, debugging, and refactoring
  • πŸ”„ CI/CD: Fully automated build, test, sign, and release pipeline (GitHub Actions)
    • βœ… Every push triggers multi-platform builds (Windows, Linux, macOS)
    • βœ… Automated code signing for Windows installers
    • βœ… One-tag releases: git tag v2026.2.1 β†’ automated distribution in 60 minutes
    • βœ… Parallel builds across 6 platforms (x64/ARM64)
    • πŸ“– Release Process Documentation β€’ CI/CD Architecture β€’ System Architecture
  • πŸ” Quality: Coverity static analysis + CodeQL security scanning
  • πŸ§ͺ Testing: 350+ tests across 3 suites (regression, comprehensive, deploy)
    • Regression suite: 10 focused tests for critical functionality
    • Comprehensive suite: 323+ tests for full language validation
    • Deploy suite: 17 real-world usage examples
    • Full cross-platform coverage (Windows/Linux/macOS, x64/ARM64)

Editor Support:

πŸ“š Testing Documentation β€’ πŸ§ͺ Regression Tests β€’ πŸ“Š Performance & Benchmarks

Resources