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
UFMG |
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: | 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. |
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 |
Classes de tipos com múltiplos parâmetros e opcionais em haskellHaskellClasses de tiposSobrecargaLinguagem de programação (Computadores)Haskell (Linguagem de programação de computador)ComputaçãoThe 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.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.Universidade Federal de Minas GeraisUFMGLucilia Camarao de FigueiredoAlberto Prado CostaFernando Magno Quintao PereiraRoberto da Silva BigonhaMartin SulzmannRodrigo Geraldo Ribeiro2019-08-11T00:47:37Z2019-08-11T00:47:37Z2013-07-30info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfhttp://hdl.handle.net/1843/ESBF-9GMJLUinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMG2019-11-14T10:00:57Zoai:repositorio.ufmg.br:1843/ESBF-9GMJLURepositório InstitucionalPUBhttps://repositorio.ufmg.br/oairepositorio@ufmg.bropendoar:2019-11-14T10:00:57Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false |
dc.title.none.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.none.fl_str_mv |
Lucilia Camarao de Figueiredo Alberto Prado Costa Fernando Magno Quintao Pereira Roberto da Silva Bigonha Martin Sulzmann |
dc.contributor.author.fl_str_mv |
Rodrigo Geraldo Ribeiro |
dc.subject.por.fl_str_mv |
Haskell Classes de tipos Sobrecarga Linguagem de programação (Computadores) Haskell (Linguagem de programação de computador) Computação |
topic |
Haskell Classes de tipos Sobrecarga Linguagem de programação (Computadores) Haskell (Linguagem de programação de computador) Computação |
description |
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. |
publishDate |
2013 |
dc.date.none.fl_str_mv |
2013-07-30 2019-08-11T00:47:37Z 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.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
Universidade Federal de Minas Gerais UFMG |
publisher.none.fl_str_mv |
Universidade Federal de Minas Gerais UFMG |
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 |
repository.name.fl_str_mv |
Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG) |
repository.mail.fl_str_mv |
repositorio@ufmg.br |
_version_ |
1828929585603936256 |