Skip to content

Latest commit

 

History

History
20 lines (15 loc) · 1.37 KB

File metadata and controls

20 lines (15 loc) · 1.37 KB

Ara: JIT-compiled Expression Engine ('wonder' in Yoruba)

What is Ara?

Imagine you have a giant bag of mixed-up candies and you want to find only the red ones. Normally, you'd have to look at each one slowly.

Ara (which means "wonder" in Yoruba) is like a magic translator. You tell it a simple rule, like "find red candies," and Ara instantly builds a super-speed robot brain that finds them all faster than you can blink! It takes your simple words and turns them into lightning-fast power.

Concept

Ara is a domain-specific expression language that is Just-In-Time (JIT) compiled to machine code for high-performance data processing. It allows users to write simple logic that runs as fast as hand-written C code.

Key Engineering Challenges

  • Lexing & Parsing: converting raw text into an Abstract Syntax Tree (AST).
  • Semantics & Type Checking: ensuring the expression is logically valid before compilation.
  • Code Generation: using a backend like LLVM or Cranelift to generate native CPU instructions.
  • Safety: Ensuring the JIT-compiled code doesn't crash the host process (memory safety).
  • Execution Engine: Managing the invocation of the generated functions from the host language.

Technical Goals

  • Near-native performance for dynamic filtering logic.
  • A clean, extensible DSL for high-frequency trading or security rule evaluation.