Senhor
Conceitos de Teoria das Categorias
Abstract. This meta-paper describes a proposal to use category theory for the treatment of operators in the development of programming languages, developed over the discipline of Category Theory Course of Computer Science, Federal
University of Rio Grande do Sul .
Resumo. Este meta-artigo descreve uma proposta de utilização de teoria das
Categorias para o tratamento de operadores no desenvolvimento de Linguagens de Programação, desenvolvido durante a disciplina de Teoria das Categorias do curso de Ciência da Computação da Universidade Federal do Rio Grande do Sul.
1. Introdução
Muitas linguagens de programação suportam, ao menos, um noção limitada de operador genérico. Como exemplo, podemos considerar que não seria uma tarefa trivial distinguir entre um operador para soma de variáveis do tipo "inteiro" e outro definido como soma variáveis do tipo "real". No entanto, considera-se que o mesmo operador (soma) pode assumir ambas aplicações, ou seja: soma de variáveis do tipo inteiro e soma variáveis do tipo real, sendo que a decisão de qual delas deve ser utilizada é definida pelo compilador, conforme a situação.
A teoria das categorias, conforme descrito pelo Ministério da Educação, "possui construções cujo poder de expressão não possui, em geral, paralelo em outras teorias".
Nesse artigo, apresentaremos uma modelagem categorial para o tratamento de operadores, aproveitando-se do poder da Teoria das Categorias como ferramenta para modelagem matemática, visando um melhor entendimento do problema. Dessa forma, objetivamos obter maior simplicidade e clareza na solução.
Para isso, iniciaremos com a apresentação de conceitos básicos de Teoria das
Categorias na seção 2. A seguir será descrita, na seção 3, a abordagem proposta por John C.
Reynolds ao problema de projetos de linguagens de programação e a modelagem categorial