Sobre o serviço
TraduzidoSou um engenheiro de programação funcional e trabalho diariamente em Koka — uma linguagem de pesquisa construída em torno de efeitos algébricos e tipos de efeito baseados em linha. Se você precisa de um protótipo, biblioteca ou ferramenta próxima do compilador onde cada efeito colateral é rastreado na assinatura de tipo, e não oculto em tempo de execução, eu ajudarei. Meu trabalho típico se parece com isso: descrevo seu domínio com um pequeno conjunto de operações de efeito, escrevo manipuladores que dão a essas operações um significado concreto e deixo o verificador de tipos do Koka provar que nenhum efeito não tratado escapa. Por causa disso, a mesma lógica roda em um banco de dados real, um stub ou replay determinístico para testes — basta trocar o manipulador. Usei essa técnica para construir analisadores, autômatos finitos, pipelines assíncronos e intérpretes para pequenas linguagens de domínio. Do lado do compilador, leio com confiança como o Koka desdobra efeitos em estilo de passagem de evidência, raciocino sobre como a compilação tipada reduz manipuladores e diagnostico por que uma linha de efeito não se unifica da maneira que você esperava. Como resultado, você obtém código-fonte Koka limpo e comentado, uma nota de projeto curta justificando as assinaturas de efeito escolhidas e um conjunto de testes verificando cada manipulador em isolamento. Pontos complexos eu descrevo separadamente para que sua equipe possa manter o código após mim. Se você vê manipuladores de efeito como um substituto para transformadores de monada ou espaguete de callback — me envie a tarefa e eu proponho um design de efeito concreto antes de começarmos.