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

Detalhes bibliográficos
Ano de defesa: 2013
Autor(a) principal: Rodrigo Geraldo Ribeiro
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
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