Skip to content
EN

Cópia estática

Copiado de docs/decisions/adp-009.md em https://github.com/poppy-team/aipo-lang (MIT). Fixado na revisão ce47c4e070404fc41722ccd8e2b7b808b99062a8, blob 73e15829d270d23d502ad752427948d8756bc0c6. O repositório de origem permanece canônico; esta cópia é atualizada por um pull request de sincronização, não em tempo real.

ADP-009 — C ABI Síncrona Versionada ​

  • Status: Aprovado & Em Implementação
  • Decisores: Poppy Team
  • Fase: Wave 6 (P05)

Contexto ​

Para permitir que a linguagem Aipo seja utilizada como motor de script em projetos escritos em C, C++, Zig ou outras linguagens de sistemas sem depender de bindings complexos em Rust, é indispensável uma C ABI estável e síncrona.


Decisões Tomadas ​

  1. Tipos Opacos:
    • aipo_vm_t, aipo_bytecode_t, aipo_value_t.
  2. Execução Síncrona:
    • Inicialização e despacho sem alocação desnecessária.
  3. Contrato de Memória Limpo:
    • Funções explícitas de liberação e destruição (aipo_vm_free).
    • Códigos numéricos de diagnóstico retornados em conformidade com o catálogo do Aipo.