Bioeconomia: Diversidade e Riqueza para o Desenvolvimento Sustentável

21 a 25 de outubro de 2019

Trabalho 11964

ISSN 2237-9045
Instituição Universidade Federal de Viçosa
Nível Graduação
Modalidade Pesquisa
Área de conhecimento Ciências Exatas e Tecnológicas
Área temática Engenharia/Tecnologia
Setor Departamento de Matemática
Bolsa CNPq
Conclusão de bolsa Não
Apoio financeiro CNPq
Primeiro autor Manoela Werneck Auad
Orientador ROGERIO CARVALHO PICANCO
Título Programação com Categoria
Resumo A teoria de categorias foi criada na década de 1940 por S. Maclane no âmbito da topologia algébrica. De uma certa forma, ela substitui a teoria de conjuntos. Na visão da teoria de conjuntos o foco principal são os objetos. Subconjuntos, subespaços etc são definidos pelas propriedades dos elementos que os constituem. Do ponto de vista da teoria de categorias, são as interações entre os objetos que importam, sem olhar dentro dos mesmos. Os principais conceitos em categorias são os funtores e transformações naturais. Devido a seu grande potencial de síntese e profundidade, rapidamente a teoria de categorias se tornou a linguagem em várias áreas da Matemática, permitindo a resolução de problemas e o avanço de teorias em geometria algébrica, topologia, equações deferenciais etc. Nos dias de hoje está presente na física teórica e em várias outras ciências naturais. Na ciência da computação ocupa cada vez mais espaço. Uma categoria C é constituída por uma classe de objetos; para cada par de objetos A e B um conjunto de morfismos Hom(A,B) e uma composição de morfismos associativa e com unidade. Um exemplo simples é a categoria Sets, cujos objetos são conjuntos, morfismos são funções e a composição a usual de funções. Nos anos recentes, o crescimento das redes de computadores e o aumento exponencial na complexidade de programas computacionais, levaram ao desenvolvimento da programação funcional. Em contraste com a programação imperativa clássica, na programação funcional os dados são substituídos por funções. O ambiente da programação funcional é, assim, bastante propício ao uso da teoria de categorias, que substitui a lógica usual baseada na teoria de conjuntos. Basicamente uma linguagem funcional é constituída por tipos primários, operadores e construtores que produzem outros tipos e operadores. Pode ser considerada uma categoria cujos objetos são os tipos, morfismos são os operadores e composição são os construtores. Neste trabalho, ainda parcial pois em andamento, apresentamos o importante conceito de funtores adjuntos e sua estreita ligação com mônadas, no sentido categórico. Estabelecemos paralelos entre construções categóricas e linguagem funcional. Exemplos e aplicações são apresentados na linguagem de programação Haskell. Utilizamos o software livre GHC, para desenvolvimento de programas básicos na linguagem Haskell e identificamos nestes elementos categóricos. O objetivo final do trabalho será estabelecer um paralelo nas definições e aplicações do importante conceito de mônadas nos ambientes de categorias e de programação e explorar esta correlação em novas aplicações nas duas áreas.
Palavras-chave categorias, programação funcional, objetos
Forma de apresentação..... Painel
Gerado em 0,60 segundos.