• 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
 
 
Doctoral Thesis
DOI
https://doi.org/10.11606/T.45.2023.tde-03112023-152323
Document
Author
Full name
Alexandre Garcia de Oliveira
Institute/School/College
Knowledge Area
Date of Defense
Published
São Paulo, 2023
Supervisor
Committee
Jaskelioff, Mauro Javier (President)
Costa, Alberto Raúl Pardo
Mariano, Hugo Luiz
Uustalu, Tarmo
Wu, Nicolas
Title in English
Programming with monoidal profunctors and semiarrows
Keywords in English
Effectful monoidal profunctors
Functional programming
Monoidal profunctors
Moore machines
Semiarrows
Synchronous programming
Abstract in English
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.
Title in Portuguese
Programando com profuntores monoidais e semiarrows
Keywords in Portuguese
Máquinas de Moore
Profunctores monoidais com efeitos colaterais
Profuntores monoidais
Programação funcional
Programação síncrona
Semiarrows
Abstract in Portuguese
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)
 
WARNING - Viewing this document is conditioned on your acceptance of the following terms of use:
This document is only for private use for research and teaching activities. Reproduction for commercial use is forbidden. This rights cover the whole data about this document as well as its contents. Any uses or copies of this document in whole or in part must include the author's name.
Publishing Date
2023-11-13
 
WARNING: Learn what derived works are clicking here.
All rights of the thesis/dissertation are from the authors
CeTI-SC/STI
Digital Library of Theses and Dissertations of USP. Copyright © 2001-2024. All rights reserved.