What is Aipo?
Source:
docs/getting-started/what-is-aipo.md· revisione9ec458cc39c6da005cd81e959360ec89648b8c7· blobd7e78ce87a0d2b39bc7b39966e51077f09f92bd9· 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.
Core pillars
Section titled “Core pillars”Dynamic and strong typing
Section titled “Dynamic and strong typing”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 + yConverting or concatenating values requires clear programmer intent.
Structural invariants and contracts
Section titled “Structural invariants and contracts”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.
Deterministic concurrency
Section titled “Deterministic concurrency”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.
Two targets: VM and JavaScript
Section titled “Two targets: VM and JavaScript”- Rust bytecode VM: executes bytecode and supports instruction inspection.
- JavaScript backend: emits modern JavaScript with a modular runtime.