Sobre o serviço
TraduzidoEu escrevo código de sistemas de produção em ATS (Sistema de Tipos Aplicados) — uma linguagem que permite combinar a velocidade do metal nu com correção verificada matematicamente. Se você precisa de um driver, rotina embutida, analisador ou caminho crítico que não pode vazar memória ou ler além de um buffer, eu codificarei essas garantias diretamente no sistema de tipos. Em ATS, o compilador me obriga a cumprir obrigações de prova antes que o código seja compilado, então uma classe inteira de erros que escorregam nas versões do C sem serem notados simplesmente não compila aqui. O trabalho começa com suas invariantes. Concordamos sobre o que deve ser mantido: sem duplo-livres, sem estouros de buffer, propriedade linear de cada recurso, terminação garantida de rotinas recursivas. Então, eu expresso isso em tipos dependentes e provas lineares, implemento código contra eles e entrego um resultado que carrega seu próprio certificado de segurança. Como ATS compila para C limpo, o resultado se integra ao seu build sem problemas e roda sem sobrecarga de coleta de lixo. A entrega inclui fontes ATS, C gerado, script de build, um pequeno suporte de teste com anotações de prova e uma nota explicativa sobre cada invariante provado. Ao longo de anos de trabalho de baixo nível, construí estruturas sem bloqueio e ligações seguras de ATS para bibliotecas C legadas. Raciocinar sobre ponteiros, tamanhos e tempos de vida no nível da lógica formal é rotina para mim. Descreva uma restrição que o preocupa, e eu a transformarei em um teorema que o compilador verifica a cada reconstrução.