Projeto e prototipação de uma variação do cálculo-lambda com tipos de sessão

Detalhes bibliográficos
Autor(a) principal: Haggstrom, Gabriel de Souza
Data de Publicação: 2021
Tipo de documento: Trabalho de conclusão de curso
Idioma: eng
Título da fonte: Repositório Institucional da UFRGS
Texto Completo: http://hdl.handle.net/10183/234992
Resumo: Os tipos de sessão são uma extensão de linguagens de programação que permite verificar, em nível de sistema de tipos, se uma comunicação por troca de mensagens entre pro cessos concorrentes respeita um determinado protocolo. São inspirados na lógica linear e surgiram no contexto do cálculo-π (um cálculo de processos), sendo posteriormente incor porados em variantes do cálculo-λ. Recentemente, tipos de sessão estão sendo integrados em linguagens de programação convencionais como Java, Haskell e outras. O objetivo deste trabalho é explorar a teoria de tipos de sessão e sua aplicação à programa ção através do projeto, especificação formal e prototipação de uma variante do cálculo-λ estendida com tipos de sessão e operações para programação concorrente. Através desse cálculo, serão apresentados exemplos de uso e idiomas aplicáveis a linguagens de progra mação que tenham tais extensões.
id UFRGS-2_18a179c5cf81821dbcfddb3c5081c824
oai_identifier_str oai:www.lume.ufrgs.br:10183/234992
network_acronym_str UFRGS-2
network_name_str Repositório Institucional da UFRGS
repository_id_str
spelling Haggstrom, Gabriel de SouzaMachado, RodrigoMoreira, Alvaro Freitas2022-02-10T04:36:33Z2021http://hdl.handle.net/10183/234992001136116Os tipos de sessão são uma extensão de linguagens de programação que permite verificar, em nível de sistema de tipos, se uma comunicação por troca de mensagens entre pro cessos concorrentes respeita um determinado protocolo. São inspirados na lógica linear e surgiram no contexto do cálculo-π (um cálculo de processos), sendo posteriormente incor porados em variantes do cálculo-λ. Recentemente, tipos de sessão estão sendo integrados em linguagens de programação convencionais como Java, Haskell e outras. O objetivo deste trabalho é explorar a teoria de tipos de sessão e sua aplicação à programa ção através do projeto, especificação formal e prototipação de uma variante do cálculo-λ estendida com tipos de sessão e operações para programação concorrente. Através desse cálculo, serão apresentados exemplos de uso e idiomas aplicáveis a linguagens de progra mação que tenham tais extensões.Session types are a programming language extension that allows to check, at type system level, if a message-passing communication between concurrent processes conforms to some given protocol. They take inspiration from linear logic and have emerged in the context of π-calculus (a process calculus), being later embedded in variants of λ-calculus. Recently, session types are being integrated in mainstream programming languages such as Java, Haskell and others. This work aims to explore the theory of session types and their application to program ming through the design, formal specification and prototyping of a variant of λ-calculus extended with session types and operations for concurrent programming. Using this cal culus, this work will present examples of use and idioms applicable to programming lan guages that have such extensionsapplication/pdfengLinguagens de programaçãoFormal semanticsType systemsSession typesLinear typesLambda calculusConcurrent programmingProjeto e prototipação de uma variação do cálculo-lambda com tipos de sessãoDesign and prototyping of a variant of lambda-calculus with session types info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2021Ciência da Computação: Ênfase em Ciência da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001136116.pdf.txt001136116.pdf.txtExtracted Texttext/plain83509http://www.lume.ufrgs.br/bitstream/10183/234992/2/001136116.pdf.txt385e008dbd70415f20654b387f5f4274MD52ORIGINAL001136116.pdfTexto completoapplication/pdf304400http://www.lume.ufrgs.br/bitstream/10183/234992/1/001136116.pdf61a1c8a7bccabe83755d67b95679abbcMD5110183/2349922022-02-22 05:06:01.136821oai:www.lume.ufrgs.br:10183/234992Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2022-02-22T08:06:01Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Projeto e prototipação de uma variação do cálculo-lambda com tipos de sessão
dc.title.alternative.pt.fl_str_mv Design and prototyping of a variant of lambda-calculus with session types
title Projeto e prototipação de uma variação do cálculo-lambda com tipos de sessão
spellingShingle Projeto e prototipação de uma variação do cálculo-lambda com tipos de sessão
Haggstrom, Gabriel de Souza
Linguagens de programação
Formal semantics
Type systems
Session types
Linear types
Lambda calculus
Concurrent programming
title_short Projeto e prototipação de uma variação do cálculo-lambda com tipos de sessão
title_full Projeto e prototipação de uma variação do cálculo-lambda com tipos de sessão
title_fullStr Projeto e prototipação de uma variação do cálculo-lambda com tipos de sessão
title_full_unstemmed Projeto e prototipação de uma variação do cálculo-lambda com tipos de sessão
title_sort Projeto e prototipação de uma variação do cálculo-lambda com tipos de sessão
author Haggstrom, Gabriel de Souza
author_facet Haggstrom, Gabriel de Souza
author_role author
dc.contributor.author.fl_str_mv Haggstrom, Gabriel de Souza
dc.contributor.advisor1.fl_str_mv Machado, Rodrigo
dc.contributor.advisor-co1.fl_str_mv Moreira, Alvaro Freitas
contributor_str_mv Machado, Rodrigo
Moreira, Alvaro Freitas
dc.subject.por.fl_str_mv Linguagens de programação
topic Linguagens de programação
Formal semantics
Type systems
Session types
Linear types
Lambda calculus
Concurrent programming
dc.subject.eng.fl_str_mv Formal semantics
Type systems
Session types
Linear types
Lambda calculus
Concurrent programming
description Os tipos de sessão são uma extensão de linguagens de programação que permite verificar, em nível de sistema de tipos, se uma comunicação por troca de mensagens entre pro cessos concorrentes respeita um determinado protocolo. São inspirados na lógica linear e surgiram no contexto do cálculo-π (um cálculo de processos), sendo posteriormente incor porados em variantes do cálculo-λ. Recentemente, tipos de sessão estão sendo integrados em linguagens de programação convencionais como Java, Haskell e outras. O objetivo deste trabalho é explorar a teoria de tipos de sessão e sua aplicação à programa ção através do projeto, especificação formal e prototipação de uma variante do cálculo-λ estendida com tipos de sessão e operações para programação concorrente. Através desse cálculo, serão apresentados exemplos de uso e idiomas aplicáveis a linguagens de progra mação que tenham tais extensões.
publishDate 2021
dc.date.issued.fl_str_mv 2021
dc.date.accessioned.fl_str_mv 2022-02-10T04:36:33Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/234992
dc.identifier.nrb.pt_BR.fl_str_mv 001136116
url http://hdl.handle.net/10183/234992
identifier_str_mv 001136116
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Repositório Institucional da UFRGS
collection Repositório Institucional da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/234992/2/001136116.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/234992/1/001136116.pdf
bitstream.checksum.fl_str_mv 385e008dbd70415f20654b387f5f4274
61a1c8a7bccabe83755d67b95679abbc
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv
_version_ 1801224621227245568