O que é Aipo?
Fonte:
docs/getting-started/what-is-aipo.md· revisãoe9ec458cc39c6da005cd81e959360ec89648b8c7· blobb9417f44d84e5ddddfcd9d4c4af51819b755df75· licença MIT.Cópia estática para leitura. A documentação completa e canônica permanece no repositório de Aipo.
English: What is Aipo?
O Aipo é uma linguagem de programação moderna de propósito geral, com tipagem dinâmica e forte, dotada de suporte nativo a contratos de assinatura e invariantes estruturais.
Projetada com uma filosofia de simplicidade, robustez e previsibilidade, Aipo foi construída do zero em Rust.
Pilares fundamentais
Seção intitulada “Pilares fundamentais”Tipagem dinâmica e forte
Seção intitulada “Tipagem dinâmica e forte”No Aipo, valores possuem tipos concretos e o sistema não realiza conversões arbitrárias ou silenciosas entre tipos incompatíveis:
let x = "42"let y = 10// Erro de tipo em tempo de execução:// O operador '+' não concatena String e Int implicitamente.let z = x + yPara concatenar ou converter valores, exige-se intenção explícita ou formatação declarada.
Contratos estruturais e invariantes
Seção intitulada “Contratos estruturais e invariantes”O hook invariant() pode declarar uma regra estrutural junto à implementação de uma estrutura:
struct Temperature {var celsius = 0.0}impl Temperature {invariant {self.celsius >= -273.15 # Não pode ser inferior ao zero absoluto}}Em blocos transacionais attempt { ... } failed err { ... }, uma mutação que viole a invariante pode ser revertida.
Concorrência determinística
Seção intitulada “Concorrência determinística”Aipo descreve um modelo baseado em fibras cooperativas e tempo virtual. Chamadas assíncronas usam async fn e combinadores de tarefas, como task.spawn, task.sleep, task.all e task.race.
Dois destinos: VM e JavaScript
Seção intitulada “Dois destinos: VM e JavaScript”- VM de bytecode em Rust: executa bytecode e permite inspecionar instruções.
- Backend JavaScript: emite JavaScript moderno com um runtime modular.