Ross Tate afirma (na página de papel) que os detalhes eram impressionantes sem a abstração oferecida pela teoria das categorias. Pessoalmente, eu gostaria de enviar como "evidência sugestiva" (se houver alguma evidência de tal afirmação) os diagramas (6) e (7) em seu artigo - eles parecem suficientemente complexos na forma de diagrama. Deixe-me citar seus comentários em linha.
Alguns nos perguntaram por que abstraímos nossa técnica de generalização de provas e por que usamos a teoria das categorias como nossa abstração. No entanto, nós realmente projetamos o algoritmo abstrato primeiro, usando a teoria das categorias e, em seguida, usamos isso para descobrir como resolver nosso problema concreto. Ficamos presos ao problema concreto, sobrecarregados pelos detalhes e pelas variáveis, e qualquer solução que pudéssemos pensar parecia arbitrária. Para refletir e simplificar, decidimos formular nossa pergunta categoricamente. Isso levou a um diagrama de fontes e sumidouros, então usamos apenas pushouts e pullbacks para colar as coisas. O maior desafio foi chegar a conclusões de pushout, em vez de usar algum conceito padrão existente. A formulação categórica foi fácil de especificar e argumentar. Depois, instanciamos os processos abstratos,
Na verdade, descobrimos que esse processo de abstração da teoria das categorias sempre que ficamos presos é bastante proveitoso. Além de resolver nosso problema concreto, acabamos entendendo melhor nosso próprio problema e também uma solução abstrata que pode ser facilmente adaptada a outras aplicações. Assim, nossa experiência sugere que a teoria das categorias pode ser útil na construção de algoritmos reais, além de ser útil como uma estrutura para formalização. Estaríamos interessados em conhecer outras experiências semelhantes, positivas ou negativas.