Skip to main content
Kira

AI Code Generation

Kira is designed from the ground up to be ideal for AI code generation. This page explains why and how.

Why Kira Works for AI

Explicit Types Eliminate Guessing

In languages with type inference, AI models must infer types from context — a common source of errors. In Kira, every type is explicit:

let x: i32 = 42
fn add(a: i32, b: i32) -> i32 { return a + b }

The AI never needs to guess a type. Every binding and function signature is self-documenting.

Consistent Syntax

Kira has one obvious way to do each thing. There are no alternative syntaxes, no shorthand forms, and no implicit behavior. This means AI models can reliably generate correct code with fewer examples.

Effect Tracking

The effect keyword makes I/O boundaries explicit. An AI model can generate pure functions with confidence that they will compile correctly, and knows exactly when to add the effect keyword.

No Implicit Behavior

  • No implicit conversions
  • No implicit returns
  • No null or undefined
  • No exceptions

Every operation is explicit, making it easy for AI to generate correct code.

Design Principles for AI

  1. Context-free grammar — each construct is parseable without surrounding context
  2. Keyword-driven syntax — keywords (not symbols) for logic and effects
  3. Consistent patterns — the same structure is used everywhere
  4. Explicit returns — always use return, never implicit
  5. No ambiguity — one way to express each concept

Example: AI-Generated Code

An AI asked to "write a function that filters even numbers from a list" produces:

fn filter_evens(nums: List[i32]) -> List[i32] {
    return std.list.filter[i32](
        nums,
        fn(x: i32) -> bool { return x % 2 == 0 }
    )
}

Every type annotation, every return statement, every function signature is explicit — the AI doesn't need to make assumptions.