Skip to content

What is Aipo?

Source: docs/getting-started/what-is-aipo.md · revision e9ec458cc39c6da005cd81e959360ec89648b8c7 · blob d7e78ce87a0d2b39bc7b39966e51077f09f92bd9 · MIT license.

Static reading copy. Full, canonical documentation remains in Aipo’s repository.

Português: O que é Aipo?

Aipo is a modern general-purpose programming language featuring dynamic and strong typing, paired with native signature contracts and structural invariants.

It was designed around clarity, robustness, and predictability, and built from the ground up in Rust.

In Aipo, values have concrete types and the runtime does not perform arbitrary or hidden conversions between incompatible types:

let x = "42"
let y = 10
// Runtime type fault:
// The '+' operator does not implicitly concatenate String and Int.
let z = x + y

Converting or concatenating values requires clear programmer intent.

The invariant() hook can declare a structural rule alongside an implementation:

struct Temperature {
var celsius = 0.0
}
impl Temperature {
invariant {
self.celsius >= -273.15 # Cannot be below absolute zero
}
}

Inside attempt { ... } failed err { ... } transaction blocks, a mutation that violates an invariant can be rolled back.

Aipo describes a model based on cooperative fibers and virtual time. Async calls use async fn and task combinators such as task.spawn, task.sleep, task.all, and task.race.

  1. Rust bytecode VM: executes bytecode and supports instruction inspection.
  2. JavaScript backend: emits modern JavaScript with a modular runtime.