Classes de tipos com múltiplos parâmetros e opcionais em haskell
Ano de defesa: | 2013 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | , , , |
Tipo de documento: | Tese |
Tipo de acesso: | Acesso aberto |
Idioma: | por |
Instituição de defesa: |
Universidade Federal de Minas Gerais
|
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: | |
Link de acesso: | 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_ |
1803589594822737920 |