Skip to content

objeck/objeck-lang

Object-oriented • JIT-compiled • AI-ready • Cross-platform
Modern programming language with first-class ML and computer vision support


GitHub CodeQL CI Build Release Build Latest Release

Why Objeck?

Built for modern development:

  • 🚀 JIT-compiled for performance (ARM64/AMD64)
  • 🤖 AI/ML first-class: OpenAI, Gemini, Ollama, OpenCV, ONNX
  • 💻 Developer-friendly: REPL shell, LSP plugins for VSCode/Sublime/Kate
  • 🌍 Cross-platform: Linux, macOS, Windows (including ARM/RPI)
  • 🔧 Full-featured: Threads, generics, closures, reflection, serialization

Perfect for: AI/ML prototyping • Computer vision • Web services • Game development

Try It Online

No installation needed - write, compile, and run Objeck code directly in your browser:

👉🏽 Interactive playground with 33 demo programs across 7 categories with Monaco editor and syntax highlighting.

Quick Start

# Install (example for macOS/Linux)
curl -LO https://github.com/objeck/objeck-lang/releases/download/v2026.4.3/objeck-linux-x64_2026.4.3.tgz
tar xzf objeck-linux-x64_2026.4.3.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

Web PlaygroundTry Objeck in your browser. Code runs in sandboxed Docker containers on a dedicated server. Includes 33 demos covering the language basics, OOP, algorithms, collections, data processing, and more.

v2026.4.3

  • DAP debugger hover — hovering an object shows ClassName { field=val, ... } with one-level instance field expansion via FormatObjectForDap
  • DAP instance/class variable scopes — Variables pane now shows separate Locals, Instance, and Class scopes with correct memory mapping
  • DAP stepping + crash fixes — fixed step-into crash, step-over/step-out scoping, stdout corruption, disconnect access violation, and variable display
  • Editor setup refresh — updated VS Code, Sublime Text, and gvim/Vim DAP+LSP setup for Windows, Linux, and macOS
  • LSP crash fixes — null guards for textDocument/codeAction with inferred locals, hover position fix (1-based to 0-based)
  • Configurable JIT threshold — auto-JIT invocation count can now be tuned
  • Fixed JIT S2F callback param count causing segfault on String:ToFloat
  • Hardened HTTPS client against null ReadLine on connection failures

v2026.4.2

  • JIT local variable register cache (AMD64 + ARM64) — keeps values in registers after store, avoids redundant reloads, evicts on demand when register pool is exhausted
  • Hardened JSON, JSON stream, and XML parsers against malformed input
  • DTLS (Datagram TLS) support — new DTLSSocket and DTLSSocketServer classes for secure UDP communication (IoT, VoIP, gaming)
  • Link-time optimization — added -flto=auto across all GCC Makefiles (AMD64 and ARM64)
  • ARM64 native CPU tuning-mcpu=native auto-detects RPi5 (Cortex-A76) and Jetson Orin (Cortex-A78AE)
  • Fixed all MSVC and GCC compiler warnings
  • Fixed doc generator error on @hidden tag

v2026.4.1

  • Debug Adapter Protocol (DAP) — VS Code debugging with conditional breakpoints, ANSI color output, and readline support
  • 3.3x binarytrees speedup — young-gen bump allocator, direct JIT-to-JIT calling, atomic CAS mark bits, auto-JIT dispatch fix
  • MTHD_CALL JIT whitelist (x64 + ARM64) — methods containing method calls can now be JIT-compiled and auto-JIT'd
  • GC thread safety — memory barriers in PushFrame/PopFrame paired with acquire fences in GC to fix intermittent threading segfaults
  • Code signing — macOS Developer ID Application + Installer certificates and notarization; Windows Sectigo signing; all automated in CI
  • macOS .pkg installer — signed and notarized native installer with PATH setup via productbuild
  • Networking: SSE streaming, socket receive timeouts, ReadBytes partial read fix, HTTP client/server hardening
  • ODBC: BigInt support, connection strings, transactions, error handling, schema discovery
  • OpenCV: contours, VideoWriter, transforms, normalization, 15 new image processing functions
  • Phi-3 Vision multimodal inference — 3-model pipeline with FP16 and DirectML/CUDA support
  • Unified ONNX build system — single source with preprocessor-selected providers (DML, CUDA, QNN, CoreML)
  • Hash auto-resize at 75% load, Vector in-place Remove, JSON escape/keyword fixes
  • Fixed the constructor early return crash, CSV.Median, CSV.Average, URL encoding, Response.ToString nil check
  • Performance details and benchmarks →

📋 Full changelog🗺️ Roadmap📝 Editor & IDE setup

Downloads

Latest Release: v2026.4.3

Platform Architecture Download
Windows x64 MSI Installer / ZIP
Windows ARM64 MSI Installer / ZIP
Linux x64 TGZ Archive
Linux ARM64 TGZ Archive
macOS ARM64 (M1/M2/M3) TGZ Archive
LSP All platforms ZIP 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

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);

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

Platform Support

Libraries

AI & Machine Learning

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 DocumentationCI/CD 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

About

Lightweight object-oriented and functional programming language. Designed to be intuitive, small, cross-platform, and fast. The language emphasizes portability, scalability, and robust API support.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors