
Misture Duolingo, HackerRank, e Delégua: Aprenda a Programar em Português pelo StarDust · designliquido
Usando um tema de exploração espacial, StarDust é uma plataforma de aprendizado de programação em português, que utiliza Delégua como linguagem de programação base. Todo o código, tanto d...
TabNews
Aprenda a Programar 100% em Português Brincando! StarDust e Delégua
YouTubeAcompanhe o projeto em
https://github.com/DesignLiquido/delegua-llvm. A implementação do núcleo de Delégua, inteira em TypeScript e em português, vive em
https://github.com/DesignLiquido/delegua.

GitHub - DesignLiquido/delegua-llvm: Biblioteca de conversão de código Delégua na representação intermediária de código LLVM.
Biblioteca de conversão de código Delégua na representação intermediária de código LLVM. - DesignLiquido/delegua-llvm
GitHubLLVM tem se mostrado incrível na simplificação e otimização do código já na etapa de sua geração. Isso nos tira o encargo de ter que otimizar o código na hora de gerar o assembly.
Adicionalmente, teremos o tipo "longo", ou simplesmente "inteiro longo", que deve trabalhar com 64 bits, assim como números, que são variáveis de precisão dupla de 64 bits.
Por exemplo, o tipo recomendado para se trabalhar com números vai se chamar simplesmente "número", mais ou menos como é no JavaScript, mas com o tipo a mais "inteiro", que permite a eliminação das casas decimais de um número.
Até então, estamos trabalhando na arquitetura básica de operadores matemáticos, funções de leitura de escrita. Tendo isso pronto, a implementação dos fluxos tradicionais de Delégua deve ser trivial. Nesta etapa, tivemos que tomar algumas decisões de grande impacto.
Imagine escrever código em português que pode rodar em qualquer coisa. É isso que o LLVM permite fazer. Basta o fornecedor da arquitetura do processador fornecer o compilador que entenda LLVM. O resto é por nossa conta.
Hoje lançamos uma versão de Delégua que melhora não apenas o sistema de tipagem, mas o de inferência de tipos de variáveis e constantes. Isso nos permitirá continuar evoluindo com nosso compilador em LLVM, e futuros compiladores em outros assemblies. 🧵
Usamos a biblioteca do NPM llvm-bindings, que não recebe atualizações desde 2022. Dado o interesse de outras empresas de continuar a biblioteca, provavelmente nos envolveremos em futuros esforços de atualização.