Sobre o serviço
TraduzidoDesenvolvo e verifico programas em Agda — uma linguagem funcional com tipos dependentes que é simultaneamente um assistente de provas. Se você precisa de um programa cuja correção o compilador verifica em vez de esperar que os testes a detectem, posso ajudar. Aceito tudo, desde pequenas estruturas de dados verificadas até desenvolvimentos formais completos onde cada invariante é provado no nível de tipo. Codifico a especificação como um tipo, então deixo o verificador de tipos forçar a implementação a corresponder, de modo que classes inteiras de bugs simplesmente não compilam. Saídas típicas: algoritmos verificados com provas de terminação e correção, formalizações de estruturas matemáticas, analisadores e interpretadores com tipos dependentes, modelos verificados de protocolos e regras de negócios. Trabalho fluentemente com tipos de dados indexados, tipos sigma e pi, igualdade proposicional, recursão bem fundamentada e a biblioteca padrão. Traduzo raciocínios informais no papel em módulos Agda totalmente verificados. Além de escrever código, ensino teoria de tipos: sessões individuais sobre a correspondência Curry-Howard, famílias indutivas, correspondência de padrões dependentes e pensar em provas em vez de testes. Cada projeto vem com código-fonte limpo e comentado que passa na verificação de tipos desde o início, uma breve nota sobre lemas-chave e um acompanhamento para sua equipe. Explico honestamente as compensações, incluindo quando uma abordagem mais leve em outra ferramenta se adequa melhor a você.