Sobre o serviço
TraduzidoSou um desenvolvedor em métodos formais, escrevendo programas em Idris onde o próprio sistema de tipos carrega uma prova de que o código atende à sua especificação. Em vez de esperar que os testes peguem todos os casos extremos, eu codifico invariantes diretamente em tipos dependentes—e classes inteiras de bugs se tornam impossíveis: simplesmente não vão compilar. Meu trabalho está na interseção da programação e da matemática: eu projeto tipos que descrevem a forma de dados corretos, expresso pré e pós-condições como valores adequados, e transformo a verificação de tipos em um assistente de prova incansável. Se você tem uma peça crítica de lógica—um protocolo, parser, máquina de estados, cálculo financeiro—que simplesmente não pode estar errada, essa é a garantia que eu entrego.
Meu método é desenvolvimento orientado a tipos no sentido mais completo: eu começo com uma especificação precisa, esboço os tipos e desenvolvo a implementação através de "buracos" que o compilador me ajuda a preencher, refinando o código até que todas as obrigações de prova se fechem. Eu escrevo funções totais com verificação de totalidade, estruturas de dados indexadas e provas verificadas por máquina sobre seu comportamento, e documento o raciocínio para que sua equipe possa mantê-las e confiar nelas. Além do próprio Idris, tenho ampla experiência em programação funcional e verificação formal—isso me permite escolher o nível certo de rigor para o orçamento: provas completas onde elas trazem dividendos, e garantias de tipo leves em outros lugares. Eu também amo protótipos de pesquisa: testando uma nova ideia no nível de tipo, codificando um domínio de problema em um estilo de prova, transformando um resultado acadêmico em código funcional.
Se você precisa de um núcleo verificado dentro de um sistema maior, um modelo formal de um algoritmo complicado, ou um mentor para trazer tipos dependentes para sua base de código, eu trabalho com cuidado, explico cada passo e entrego código cuja correção é lida diretamente dos tipos.
— Implementações de Idris com tipos dependentes e indexados
— Desenvolvimento orientado a tipos a partir de especificações formais
— Provas verificadas por máquina e verificação de totalidade
— Parsers, protocolos e máquinas de estado verificados
— Modelagem formal de algoritmos e lógica de domínio
— Protótipos de pesquisa e experimentos em nível de tipo
— Revisão de código, mentoria e educação em tipos dependentes
Meu método é desenvolvimento orientado a tipos no sentido mais completo: eu começo com uma especificação precisa, esboço os tipos e desenvolvo a implementação através de "buracos" que o compilador me ajuda a preencher, refinando o código até que todas as obrigações de prova se fechem. Eu escrevo funções totais com verificação de totalidade, estruturas de dados indexadas e provas verificadas por máquina sobre seu comportamento, e documento o raciocínio para que sua equipe possa mantê-las e confiar nelas. Além do próprio Idris, tenho ampla experiência em programação funcional e verificação formal—isso me permite escolher o nível certo de rigor para o orçamento: provas completas onde elas trazem dividendos, e garantias de tipo leves em outros lugares. Eu também amo protótipos de pesquisa: testando uma nova ideia no nível de tipo, codificando um domínio de problema em um estilo de prova, transformando um resultado acadêmico em código funcional.
Se você precisa de um núcleo verificado dentro de um sistema maior, um modelo formal de um algoritmo complicado, ou um mentor para trazer tipos dependentes para sua base de código, eu trabalho com cuidado, explico cada passo e entrego código cuja correção é lida diretamente dos tipos.
— Implementações de Idris com tipos dependentes e indexados
— Desenvolvimento orientado a tipos a partir de especificações formais
— Provas verificadas por máquina e verificação de totalidade
— Parsers, protocolos e máquinas de estado verificados
— Modelagem formal de algoritmos e lógica de domínio
— Protótipos de pesquisa e experimentos em nível de tipo
— Revisão de código, mentoria e educação em tipos dependentes