Modern Systems Programming with Safety and Performance
Strong static typing • Ownership & borrowing • Async/await • Zero-cost abstractions
Apex is a modern systems programming language that combines the safety of Rust with the expressiveness of modern high-level languages. Built on LLVM, Apex compiles to native machine code with zero runtime overhead while providing strong compile-time guarantees through its advanced type system and borrow checker.
- 🔒 Memory Safety — Ownership system prevents races, null pointers, and use-after-free bugs at compile time
- ⚡ Zero-Cost Abstractions — High-level features compile down to machine code with no runtime penalty
- 🎯 Strong Static Typing — Comprehensive type system with generics, traits, and algebraic data types
- 🔄 Async/Await — First-class support for asynchronous programming with Task types
- 📦 Pattern Matching — Exhaustive pattern matching for control flow and destructuring
- 🧩 Generics — Full generic programming support with type parameters and constraints
- 🛠️ Modern Tooling — Fast compilation, helpful error messages, and integrated toolchain
- 🚀 LLVM Backend — Leverages LLVM for world-class optimization and cross-platform support
Detailed documentation is available in the docs/ directory:
- Installation: How to build and install Apex.
- Quick Start: Write your first Hello World program.
- Editor Setup: Recommended VS Code settings.
- Syntax: Basic syntax rules.
- Variables & Mutability:
valvsvar, ownership. - Types: Primitives and composite types.
- Control Flow:
if,while,for,match. - Functions: Definition, lambdas, higher-order functions.
- Classes: OOP features.
- Interfaces: Polymorphism.
- Enums: ADTs and pattern matching.
- Modules: Code organization.
- Ownership & Borrowing: Apex's core safety model.
- Generics: Flexible type reuse.
- Async/Await: Concurrency model.
- Error Handling:
ResultandOptiontypes.
git clone https://github.com/TheRemyyy/apex-compiler.git
cd apex-compiler
cargo build --releaseAdd target/release to your PATH.
We welcome contributions! Please see CONTRIBUTING.md for details on how to get started.
This project is licensed under the MIT License - see the LICENSE file for details.