Sobre o serviço
TraduzidoSou um desenvolvedor Standard ML e escrevo código que deve ser correto: compiladores, interpretadores, analisadores estáticos, linguagens específicas de domínio e ferramentas que suportam raciocínio formal. Trabalho especificamente na família ML — SML/NJ para desenvolvimento interativo e prototipagem rápida, MLton para otimização de programa inteiro e binários nativos rápidos, Poly/ML onde um REPL responsivo sobre uma grande base de código é necessário. Isso não é Haskell, OCaml ou F#, mas Standard ML com sua definição formal precisa, tipos algébricos, correspondência de padrões exaustiva e, crucialmente, um poderoso sistema de módulos de estruturas, assinaturas e funtores que permite montar grandes sistemas fiéis às suas interfaces.
Meu trabalho diário é transformar gramática ou semântica em código funcional e manutenível. Eu projeto sintaxe abstrata, escrevo lexers e parsers, construo verificações de tipo e passes de elaboração, reduzo tudo a representações intermediárias e gero ou interpreto resultados. Eu me preocupo em tornar estados inválidos irreproduzíveis: eu incorporo invariantes no sistema de tipos para que o compilador elimine classes inteiras de erros antes do primeiro teste. Quando a correção deve ser provada em vez de apenas verificada, eu vinculo código SML com sistemas de prova e ferramentas de especificação, escrevo testes baseados em propriedades e interpretadores de referência para definir o comportamento com precisão.
Estou confortável em me juntar a um grupo de pesquisa, equipe de linguagem ou empresa que herdou um sistema SML maduro e precisa de alguém que esteja à vontade com isso. Eu leio funtores de outras pessoas, desenredar assinaturas complexas, adiciono recursos sem quebrar limites de abstração e documento o raciocínio para que a próxima pessoa possa segui-lo. Diga-me qual linguagem, invariante ou passagem você precisa, e eu lhe darei um Standard ML limpo, tipado e bem estruturado no qual você pode confiar.
— Compiladores e interpretadores em SML/NJ, MLton, Poly/ML
— Lexers, parsers, verificação de tipos e passes de elaboração
— Design de módulos: estruturas, assinaturas e funtores
— Linguagens específicas de domínio e interpretadores embarcados
— Testes baseados em propriedades e validação de interpretadores de referência
— Raciocínio formal, especificações e integração de provadores
— Refatoração e manutenção de código Standard ML herdado
Meu trabalho diário é transformar gramática ou semântica em código funcional e manutenível. Eu projeto sintaxe abstrata, escrevo lexers e parsers, construo verificações de tipo e passes de elaboração, reduzo tudo a representações intermediárias e gero ou interpreto resultados. Eu me preocupo em tornar estados inválidos irreproduzíveis: eu incorporo invariantes no sistema de tipos para que o compilador elimine classes inteiras de erros antes do primeiro teste. Quando a correção deve ser provada em vez de apenas verificada, eu vinculo código SML com sistemas de prova e ferramentas de especificação, escrevo testes baseados em propriedades e interpretadores de referência para definir o comportamento com precisão.
Estou confortável em me juntar a um grupo de pesquisa, equipe de linguagem ou empresa que herdou um sistema SML maduro e precisa de alguém que esteja à vontade com isso. Eu leio funtores de outras pessoas, desenredar assinaturas complexas, adiciono recursos sem quebrar limites de abstração e documento o raciocínio para que a próxima pessoa possa segui-lo. Diga-me qual linguagem, invariante ou passagem você precisa, e eu lhe darei um Standard ML limpo, tipado e bem estruturado no qual você pode confiar.
— Compiladores e interpretadores em SML/NJ, MLton, Poly/ML
— Lexers, parsers, verificação de tipos e passes de elaboração
— Design de módulos: estruturas, assinaturas e funtores
— Linguagens específicas de domínio e interpretadores embarcados
— Testes baseados em propriedades e validação de interpretadores de referência
— Raciocínio formal, especificações e integração de provadores
— Refatoração e manutenção de código Standard ML herdado