O inevitável verificador de empréstimos no Inko: Uma compensação entre alocação na pilha e verificações em tempo de compilação

2025-02-07

O designer da linguagem Inko explora soluções ótimas para alocação na pilha e verificação de empréstimos. Por padrão, os tipos Inko são alocados na heap, oferecendo flexibilidade, mas incorrendo em sobrecarga de desempenho. Para melhorar o desempenho, um modificador `inline` é introduzido para suportar alocação na pilha, mas isso traz novos desafios: como lidar com empréstimos e semântica de movimentação garantindo a segurança de memória. O artigo explora várias soluções, incluindo permitir atribuições de campo, introduzir tipos exclusivos e análise de escape, concluindo que a verificação de empréstimos em tempo de compilação é a melhor abordagem, mas sua complexidade de implementação é alta e não será implementada em curto prazo. Atualmente, o Inko ainda usa uma estratégia que não permite a reatribuição de campos de tipos inline.

Desenvolvimento