LocalazyLocalazy
Agda é uma linguagem de programação funcional de tipo dependente originalmente desenvolvida por Ulf Norell na Universidade de Tecnologia de Chalmers com a ajuda de Catarina Coquand, Thorsten Altenkirch, e Andrea Vezzosi. Baseia-se na teoria do tipo intuicionista, uma forma de teoria do tipo construtivo, e tem muitas semelhanças com Coq, outro conhecido assistente de provas. A Agda é desenvolvida utilizando uma abordagem de prova de teorema interactiva. Agda é uma linguagem dependente datilografada, o que significa que os tipos podem depender de valores. Isto permite especificações mais precisas de programas e pode levar a programas mais robustos. Também permite uma inferência de tipo mais poderosa, o que significa que o verificador de tipo pode muitas vezes inferir o tipo de um programa sem que o programador tenha de o anotar explicitamente. A Agda tem um verificador automático de terminação, o que significa que pode detectar se um programa vai terminar ou não. Esta é uma propriedade valiosa, já que muitos programas que não terminam podem causar problemas quando executados num computador. Agda é uma linguagem de programação funcional, o que significa que os programas são escritos como uma série de chamadas de função. Isto tem uma série de benefícios, tais como tornar os programas mais fáceis de raciocinar e mais fáceis de paralelizar. Agda é também uma linguagem de tipo estático, o que significa que o tipo de um programa é verificado antes de ser executado. Isto pode detectar erros precocemente, antes que estes causem problemas. O Agda é um projecto de código aberto, lançado sob a Licença Pública GNU. A última versão, 2.5.3, foi lançada a 24 de Maio de 2016.