• JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
 
  Bookmark and Share
 
 
Tese de Doutorado
DOI
https://doi.org/10.11606/T.45.2023.tde-03112023-152323
Documento
Autor
Nome completo
Alexandre Garcia de Oliveira
Unidade da USP
Área do Conhecimento
Data de Defesa
Imprenta
São Paulo, 2023
Orientador
Banca examinadora
Jaskelioff, Mauro Javier (Presidente)
Costa, Alberto Raúl Pardo
Mariano, Hugo Luiz
Uustalu, Tarmo
Wu, Nicolas
Título em inglês
Programming with monoidal profunctors and semiarrows
Palavras-chave em inglês
Effectful monoidal profunctors
Functional programming
Monoidal profunctors
Moore machines
Semiarrows
Synchronous programming
Resumo em inglês
This work investigates monoidal profunctors and their extensions, such as effectful monoidal profunctors and semiarrows, as tools for reasoning and structuring pure functional programs from a categorical perspective and within a Haskell implementation. We approach them as monoids within a specific monoidal category of profunctors and as semiarrows in a semiarrow category. We examine the properties of this monoidal category and construct and implement the free monoidal profunctor. Furthermore, we detail the properties and laws of a semiarrow, deriving examples of its usage and highlighting its potential for effectively managing delays in synchronous programs. Moore machines serve as an illustrative example. Additional applications include optics and a monoidal profunctor structure-preserving connection between Moore machines, left scans, and left folds.
Título em português
Programando com profuntores monoidais e semiarrows
Palavras-chave em português
Máquinas de Moore
Profunctores monoidais com efeitos colaterais
Profuntores monoidais
Programação funcional
Programação síncrona
Semiarrows
Resumo em português
Este trabalho investiga os profuntores monoidais e suas extensões, como profuntores monoidais com efeitos colaterais e semiarrow, como ferramentas para raciocinar e estruturar programas funcionais puros a partir de uma perspectiva categórica e dentro de uma implementação em Haskell. Abordamos-os como monoides dentro de uma categoria monoidal específica de profuntores e como semiarrows em uma categoria de semiarrow. Examinamos as propriedades dessa categoria monoidal e construímos e implementamos o profunctor monoidal livre. Além disso, detalhamos as propriedades e leis de um semiarrow, derivando exemplos de seu uso e destacando seu potencial para gerenciar efetivamente atrasos em programação síncrona. As máquinas de Moore servem como um exemplo ilustrativo. Aplicações adicionais incluem óptica de profuntores e conexões que preservam a estrutura de um profunctor monoidal entre máquinas de Moore, dobragens com acumulação à esquerda (scan) e dobragens simples à esquerda (fold)
 
AVISO - A consulta a este documento fica condicionada na aceitação das seguintes condições de uso:
Este trabalho é somente para uso privado de atividades de pesquisa e ensino. Não é autorizada sua reprodução para quaisquer fins lucrativos. Esta reserva de direitos abrange a todos os dados do documento bem como seu conteúdo. Na utilização ou citação de partes do documento é obrigatório mencionar nome da pessoa autora do trabalho.
Data de Publicação
2023-11-13
 
AVISO: Saiba o que são os trabalhos decorrentes clicando aqui.
Todos os direitos da tese/dissertação são de seus autores
CeTI-SC/STI
Biblioteca Digital de Teses e Dissertações da USP. Copyright © 2001-2024. Todos os direitos reservados.