Sobre o serviço
TraduzidoSou um programador de lógica funcional e trabalho profissionalmente em Curry, então ofereço projetar e implementar soluções declarativas onde o código imperativo comum se torna confuso. Curry combina funções puras no espírito de Haskell com programação lógica: descrevo uma tarefa como um conjunto de relações, e a computação de restrição e não determinística percorre o espaço de busca. É minha ferramenta diária. Ao longo dos anos, escrevi solucionadores de restrições, motores de quebra-cabeças e agendamentos, analisadores de sintaxe e pequenas linguagens de domínio, sempre preferindo equações legíveis a otimização manual de loops. O fluxo de trabalho típico é: concordamos em uma especificação, modelo o domínio com tipos algébricos e padrões de função, adiciono variáveis livres e escolha não determinística onde a busca é necessária, e encapsulo o resultado para que o código chamador receba respostas determinísticas e testáveis. Os principais sistemas são PAKCS e KiCS2; sei como identificar onde a busca explode e adicionar restrições antecipadamente para reduzi-la. Os entregáveis incluem código-fonte comentado, uma breve nota sobre o modelo declarativo, um conjunto de testes e uma chamada para percorrer o design para que sua equipe possa manter o código. Também ajudo projetos acadêmicos: implementações de referência para artigos, exemplos de ensino, artefatos reproduzíveis para avaliação. Se você tem uma tarefa combinatória ou baseada em regras e precisa de uma solução clara, não uma caixa-preta, Curry é ideal, e estou feliz em construí-la com você.