BearVMΒΆ

A clean, expressive IR that compiles to QBE and LLVM, runs interpreted at speed, or fires through an experimental JIT on Apple Silicon.

Source: https://github.com/navid-m/bearvm

Contents:

  • Getting Started
    • Prerequisites
    • Building from Source
    • Platform Support
    • Your First Program
    • A Slightly Larger Example
    • Next Steps
  • Language Reference
    • File Extension
    • Types
    • Constants
    • Type Casts
    • Struct Definitions
    • Function Definitions
    • Registers
    • Explicit Basic Blocks (SSA form)
    • While Sugar
    • Struct Literals
    • Field Access
    • Named Constants
    • Entry Point
    • Comments
  • Instruction Reference
    • Control Flow
    • Assignment
    • Arithmetic
    • Type Casts
    • Comparison
    • Memory
    • Arena Allocation
    • Concurrency
    • Loop Sugar
    • Error Conditions
  • Memory Model
    • Manual Allocation
    • Arena Allocation
    • Choosing Between Manual and Arena Allocation
  • Concurrency
    • Model
    • Spawning a Task
    • Synchronising
    • Full Example
    • Notes
  • Builtin Functions
    • I/O
    • File I/O
    • File I/O Example
  • Backends
    • Interpreter
    • QBE
    • LLVM
    • JIT
    • Installing QBE
    • Installing LLVM
  • CLI Reference
    • Usage
    • Commands

BearVM

Navigation

Contents:

  • Getting Started
  • Language Reference
  • Instruction Reference
  • Memory Model
  • Concurrency
  • Builtin Functions
  • Backends
  • CLI Reference

Related Topics

  • Documentation overview
    • Next: Getting Started
©2026, Navid Momtahen. | Powered by Sphinx 9.1.0 & Alabaster 1.0.0 | Page source