Programming with monoidal profunctors and semiarrows

Detalhes bibliográficos
Autor(a) principal: Oliveira, Alexandre Garcia de
Data de Publicação: 2023
Tipo de documento: Tese
Idioma: eng
Título da fonte: Biblioteca Digital de Teses e Dissertações da USP
Texto Completo: https://www.teses.usp.br/teses/disponiveis/45/45134/tde-03112023-152323/
Resumo: 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.
id USP_92f0690f5c5f11ba5c4bae47ac123ed8
oai_identifier_str oai:teses.usp.br:tde-03112023-152323
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str 2721
spelling Programming with monoidal profunctors and semiarrowsProgramando com profuntores monoidais e semiarrowsEffectful monoidal profunctorsFunctional programmingMáquinas de MooreMonoidal profunctorsMoore machinesProfunctores monoidais com efeitos colateraisProfuntores monoidaisProgramação funcionalProgramação síncronaSemiarrowsSemiarrowsSynchronous programmingThis 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.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)Biblioteca Digitais de Teses e Dissertações da USPJaskelioff, Mauro JavierMelo, Ana Cristina Vieira deOliveira, Alexandre Garcia de2023-09-13info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfhttps://www.teses.usp.br/teses/disponiveis/45/45134/tde-03112023-152323/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesseng2023-11-13T18:29:22Zoai:teses.usp.br:tde-03112023-152323Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212023-11-13T18:29:22Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.none.fl_str_mv Programming with monoidal profunctors and semiarrows
Programando com profuntores monoidais e semiarrows
title Programming with monoidal profunctors and semiarrows
spellingShingle Programming with monoidal profunctors and semiarrows
Oliveira, Alexandre Garcia de
Effectful monoidal profunctors
Functional programming
Máquinas de Moore
Monoidal profunctors
Moore machines
Profunctores monoidais com efeitos colaterais
Profuntores monoidais
Programação funcional
Programação síncrona
Semiarrows
Semiarrows
Synchronous programming
title_short Programming with monoidal profunctors and semiarrows
title_full Programming with monoidal profunctors and semiarrows
title_fullStr Programming with monoidal profunctors and semiarrows
title_full_unstemmed Programming with monoidal profunctors and semiarrows
title_sort Programming with monoidal profunctors and semiarrows
author Oliveira, Alexandre Garcia de
author_facet Oliveira, Alexandre Garcia de
author_role author
dc.contributor.none.fl_str_mv Jaskelioff, Mauro Javier
Melo, Ana Cristina Vieira de
dc.contributor.author.fl_str_mv Oliveira, Alexandre Garcia de
dc.subject.por.fl_str_mv Effectful monoidal profunctors
Functional programming
Máquinas de Moore
Monoidal profunctors
Moore machines
Profunctores monoidais com efeitos colaterais
Profuntores monoidais
Programação funcional
Programação síncrona
Semiarrows
Semiarrows
Synchronous programming
topic Effectful monoidal profunctors
Functional programming
Máquinas de Moore
Monoidal profunctors
Moore machines
Profunctores monoidais com efeitos colaterais
Profuntores monoidais
Programação funcional
Programação síncrona
Semiarrows
Semiarrows
Synchronous programming
description 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.
publishDate 2023
dc.date.none.fl_str_mv 2023-09-13
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://www.teses.usp.br/teses/disponiveis/45/45134/tde-03112023-152323/
url https://www.teses.usp.br/teses/disponiveis/45/45134/tde-03112023-152323/
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv
dc.rights.driver.fl_str_mv Liberar o conteúdo para acesso público.
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Liberar o conteúdo para acesso público.
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.coverage.none.fl_str_mv
dc.publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
dc.source.none.fl_str_mv
reponame:Biblioteca Digital de Teses e Dissertações da USP
instname:Universidade de São Paulo (USP)
instacron:USP
instname_str Universidade de São Paulo (USP)
instacron_str USP
institution USP
reponame_str Biblioteca Digital de Teses e Dissertações da USP
collection Biblioteca Digital de Teses e Dissertações da USP
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)
repository.mail.fl_str_mv virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br
_version_ 1815256703912902656