Classes de tipos com múltiplos parâmetros e opcionais em haskell

Detalhes bibliográficos
Autor(a) principal: Rodrigo Geraldo Ribeiro
Data de Publicação: 2013
Tipo de documento: Tese
Idioma: por
Título da fonte: Repositório Institucional da UFMG
Texto Completo: http://hdl.handle.net/1843/ESBF-9GMJLU
Resumo: A introdução de classes de tipos com múltiplos parâmetros em Haskell tem sido dificultada devido a problemas associados a ambiguidade, que ocorrem devido a uma falta de especialização durante a inferência de tipos. Este trabalho apresenta um novo sistema de tipos para Haskell que permite a definição de classes com com múltiplos parâmetros sem a necessidade de extensões como dependências funcionais ou famílias de tipos. Além isso, revemos o conceito de ambiguidade de Haskell de maneira a adotar a definição usual baseada em derivações de tipos. É permitida também a declaração de símbolos sobrecarregados sem a imposição de que seja definida uma classe de tipos para estes. Além disso, é desenvolvido e implementado um algoritmo de inferência de tipos correto e completo com respeito ao sistema de tipos definido.
id UFMG_07d7dab1c04bdda4a32eb3272bc1344d
oai_identifier_str oai:repositorio.ufmg.br:1843/ESBF-9GMJLU
network_acronym_str UFMG
network_name_str Repositório Institucional da UFMG
repository_id_str
spelling Lucilia Camarao de FigueiredoAlberto Prado CostaFernando Magno Quintao PereiraRoberto da Silva BigonhaMartin SulzmannRodrigo Geraldo Ribeiro2019-08-11T00:47:37Z2019-08-11T00:47:37Z2013-07-30http://hdl.handle.net/1843/ESBF-9GMJLUA introdução de classes de tipos com múltiplos parâmetros em Haskell tem sido dificultada devido a problemas associados a ambiguidade, que ocorrem devido a uma falta de especialização durante a inferência de tipos. Este trabalho apresenta um novo sistema de tipos para Haskell que permite a definição de classes com com múltiplos parâmetros sem a necessidade de extensões como dependências funcionais ou famílias de tipos. Além isso, revemos o conceito de ambiguidade de Haskell de maneira a adotar a definição usual baseada em derivações de tipos. É permitida também a declaração de símbolos sobrecarregados sem a imposição de que seja definida uma classe de tipos para estes. Além disso, é desenvolvido e implementado um algoritmo de inferência de tipos correto e completo com respeito ao sistema de tipos definido.The introduction of multi-parameter type classes in Haskell has beenhindered because of problems associated to ambiguity, which occur dueto the lack of type specialization during type inference. This work proposes a new type system for Haskell that supports the definition of multi-parameter type classes without the need of any extensions like functional dependencies or type families. Haskell's ambiguity definition is redefined as the usual definition based on type systems derivations. The definition of overloaded symbols without the need of specifying a type class is also allowed. A type inference algorithm that is sound and complete with respect to the proposed type system is presented and implemented.Universidade Federal de Minas GeraisUFMGLinguagem de programação (Computadores)Haskell (Linguagem de programação de computador)ComputaçãoHaskellClasses de tiposSobrecargaClasses de tipos com múltiplos parâmetros e opcionais em haskellinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMGORIGINALrodrigogerldoribeiro.pdfapplication/pdf1185285https://repositorio.ufmg.br/bitstream/1843/ESBF-9GMJLU/1/rodrigogerldoribeiro.pdfb73d325d177c51e7cb43a1eb40001504MD51TEXTrodrigogerldoribeiro.pdf.txtrodrigogerldoribeiro.pdf.txtExtracted texttext/plain239583https://repositorio.ufmg.br/bitstream/1843/ESBF-9GMJLU/2/rodrigogerldoribeiro.pdf.txt59751fe1d6334f173c7ef02b657a6382MD521843/ESBF-9GMJLU2019-11-14 07:00:57.657oai:repositorio.ufmg.br:1843/ESBF-9GMJLURepositório de PublicaçõesPUBhttps://repositorio.ufmg.br/oaiopendoar:2019-11-14T10:00:57Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false
dc.title.pt_BR.fl_str_mv Classes de tipos com múltiplos parâmetros e opcionais em haskell
title Classes de tipos com múltiplos parâmetros e opcionais em haskell
spellingShingle Classes de tipos com múltiplos parâmetros e opcionais em haskell
Rodrigo Geraldo Ribeiro
Haskell
Classes de tipos
Sobrecarga
Linguagem de programação (Computadores)
Haskell (Linguagem de programação de computador)
Computação
title_short Classes de tipos com múltiplos parâmetros e opcionais em haskell
title_full Classes de tipos com múltiplos parâmetros e opcionais em haskell
title_fullStr Classes de tipos com múltiplos parâmetros e opcionais em haskell
title_full_unstemmed Classes de tipos com múltiplos parâmetros e opcionais em haskell
title_sort Classes de tipos com múltiplos parâmetros e opcionais em haskell
author Rodrigo Geraldo Ribeiro
author_facet Rodrigo Geraldo Ribeiro
author_role author
dc.contributor.advisor1.fl_str_mv Lucilia Camarao de Figueiredo
dc.contributor.referee1.fl_str_mv Alberto Prado Costa
dc.contributor.referee2.fl_str_mv Fernando Magno Quintao Pereira
dc.contributor.referee3.fl_str_mv Roberto da Silva Bigonha
dc.contributor.referee4.fl_str_mv Martin Sulzmann
dc.contributor.author.fl_str_mv Rodrigo Geraldo Ribeiro
contributor_str_mv Lucilia Camarao de Figueiredo
Alberto Prado Costa
Fernando Magno Quintao Pereira
Roberto da Silva Bigonha
Martin Sulzmann
dc.subject.por.fl_str_mv Haskell
Classes de tipos
Sobrecarga
topic Haskell
Classes de tipos
Sobrecarga
Linguagem de programação (Computadores)
Haskell (Linguagem de programação de computador)
Computação
dc.subject.other.pt_BR.fl_str_mv Linguagem de programação (Computadores)
Haskell (Linguagem de programação de computador)
Computação
description A introdução de classes de tipos com múltiplos parâmetros em Haskell tem sido dificultada devido a problemas associados a ambiguidade, que ocorrem devido a uma falta de especialização durante a inferência de tipos. Este trabalho apresenta um novo sistema de tipos para Haskell que permite a definição de classes com com múltiplos parâmetros sem a necessidade de extensões como dependências funcionais ou famílias de tipos. Além isso, revemos o conceito de ambiguidade de Haskell de maneira a adotar a definição usual baseada em derivações de tipos. É permitida também a declaração de símbolos sobrecarregados sem a imposição de que seja definida uma classe de tipos para estes. Além disso, é desenvolvido e implementado um algoritmo de inferência de tipos correto e completo com respeito ao sistema de tipos definido.
publishDate 2013
dc.date.issued.fl_str_mv 2013-07-30
dc.date.accessioned.fl_str_mv 2019-08-11T00:47:37Z
dc.date.available.fl_str_mv 2019-08-11T00:47:37Z
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 http://hdl.handle.net/1843/ESBF-9GMJLU
url http://hdl.handle.net/1843/ESBF-9GMJLU
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.publisher.initials.fl_str_mv UFMG
publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFMG
instname:Universidade Federal de Minas Gerais (UFMG)
instacron:UFMG
instname_str Universidade Federal de Minas Gerais (UFMG)
instacron_str UFMG
institution UFMG
reponame_str Repositório Institucional da UFMG
collection Repositório Institucional da UFMG
bitstream.url.fl_str_mv https://repositorio.ufmg.br/bitstream/1843/ESBF-9GMJLU/1/rodrigogerldoribeiro.pdf
https://repositorio.ufmg.br/bitstream/1843/ESBF-9GMJLU/2/rodrigogerldoribeiro.pdf.txt
bitstream.checksum.fl_str_mv b73d325d177c51e7cb43a1eb40001504
59751fe1d6334f173c7ef02b657a6382
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)
repository.mail.fl_str_mv
_version_ 1803589143198957568