Towards higher-order types.
Autor(a) principal: | |
---|---|
Data de Publicação: | 1998 |
Outros Autores: | |
Tipo de documento: | Artigo |
Idioma: | eng |
Título da fonte: | Repositório Institucional da UFOP |
Texto Completo: | http://www.repositorio.ufop.br/handle/123456789/4377 https://doi.org/10.1016/S1571-0661(05)80228-2 |
Resumo: | This article explores the use of types constrained by the definition of functions of given types. This notion supports both overloading and a form of subtyping, and is related to Haskell type classes and System O. We study an extension of the Damas-Milner system, in which overloaded functions can be defined. The inference system presented uses a context-independent overloading policy, specified by means of a predicate used in a single inference rule. The treatment of overloading is less restrictive than in similar systems. Type annotations are not required, but can be used to simplify inferred types. The work motivates the use of constrained types as parameters of other, higher-order types. |
id |
UFOP_12e2d8231eb149b0dfdb0e3af621790d |
---|---|
oai_identifier_str |
oai:localhost:123456789/4377 |
network_acronym_str |
UFOP |
network_name_str |
Repositório Institucional da UFOP |
repository_id_str |
3233 |
spelling |
Figueiredo, Carlos Camarão deFigueiredo, Lucília Camarão de2015-01-26T11:29:06Z2015-01-26T11:29:06Z1998FIGUEIREDO, C. C. de; FIGUEIREDO, L. C. de. Towards higher-order types. Electronic Notes in Theoretical Computer Science, New Orleans, v. 14, p. 38-51, 1998. Disponível em: <http://www.sciencedirect.com/science/article/pii/S1571066105802282>. Acesso em: 22 jan. 2015.1571-0661http://www.repositorio.ufop.br/handle/123456789/4377https://doi.org/10.1016/S1571-0661(05)80228-2This article explores the use of types constrained by the definition of functions of given types. This notion supports both overloading and a form of subtyping, and is related to Haskell type classes and System O. We study an extension of the Damas-Milner system, in which overloaded functions can be defined. The inference system presented uses a context-independent overloading policy, specified by means of a predicate used in a single inference rule. The treatment of overloading is less restrictive than in similar systems. Type annotations are not required, but can be used to simplify inferred types. The work motivates the use of constrained types as parameters of other, higher-order types.Towards higher-order types.info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/articleThis article is published under the terms of the Creative Commons Attribution-NonCommercial-No Derivatives License (CC BY NC ND). For non-commercial purposes you may distribute and copy the article and include it in a collective work (such as an anthology), provided you do not alter or modify the article, without permission from Elsevier. The original work must always be appropriately credited. Fonte: Elsevier <http://www.copyright.com/rlQuickPrice.do?operation=refreshPrice#formTop>. Acesso em: 13 jan. 2015.info:eu-repo/semantics/openAccessengreponame:Repositório Institucional da UFOPinstname:Universidade Federal de Ouro Preto (UFOP)instacron:UFOPLICENSElicense.txtlicense.txttext/plain; charset=utf-82636http://www.repositorio.ufop.br/bitstream/123456789/4377/2/license.txtc2ffdd99e58acf69202dff00d361f23aMD52ORIGINALARTIGO_TowardsHigherOrder.pdfARTIGO_TowardsHigherOrder.pdfapplication/pdf774276http://www.repositorio.ufop.br/bitstream/123456789/4377/1/ARTIGO_TowardsHigherOrder.pdf8d23f66a23f4958cded9c58c2b028329MD51123456789/43772019-06-12 13:07:38.719oai:localhost:123456789/4377PGh0bWw+Cjxib2R5Pgo8ZGl2IGFsaWduPSJqdXN0aWZ5Ij48c3Ryb25nPkxpY2VuJmNjZWRpbDthIGRvIFJlcG9zaXQmb2FjdXRlO3JpbyBJbnN0aXR1Y2lvbmFsIGRhIFVuaXZlcnNpZGFkZSBGZWRlcmFsIGRlIE91cm8gUHJldG88L3N0cm9uZz4KICA8YnI+CiAgPGJyPgogIEFvIGNvbmNvcmRhciBjb20gZXN0YSBsaWNlbiZjY2VkaWw7YSwgdm9jJmVjaXJjOyhzKSBhdXRvcihlcykgb3UgdGl0dWxhcihlcykgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIGRhIG9icmEgYXF1aSBkZXNjcml0YSBjb25jZWRlKG0pICZhZ3JhdmU7CiAgPGJyPgogIFVuaXZlcnNpZGFkZSBGZWRlcmFsIGRlIE91cm8gUHJldG8gKFVGT1ApIGdlc3RvcmEgZG8gUmVwb3NpdCZvYWN1dGU7cmlvIEluc3RpdHVjaW9uYWwgZGEgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgT3VybyBQcmV0bwogIDxicj4KICAoUkktVUZPUCksIG8gZGlyZWl0byBuJmF0aWxkZTtvLWV4Y2x1c2l2byBkZSByZXByb2R1emlyLCBjb252ZXJ0ZXIgKGNvbW8gZGVmaW5pZG8gYWJhaXhvKSBlL291IGRpc3RyaWJ1aXIgbyBkb2N1bWVudG8gZGVwb3NpdGFkbwogIDxicj4KICBlbSBmb3JtYXRvIGltcHJlc3NvLCBlbGV0ciZvY2lyYztuaWNvIG91IGVtIHF1YWxxdWVyIG91dHJvIG1laW8uCiAgPGJyPgogIDxicj4KICBWb2MmZWNpcmM7KHMpIGNvbmNvcmRhKG0pIHF1ZSBhIFVGT1AsIGdlc3RvcmEgZG8gUkktVUZPUCwgcG9kZSwgc2VtIGFsdGVyYXIgbyBjb250ZSZ1YWN1dGU7ZG8sIGNvbnZlcnRlciBvIGFycXVpdm8gZGVwb3NpdGFkbyBhCiAgPGJyPgogIHF1YWxxdWVyIG1laW8gb3UgZm9ybWF0byBjb20gZmlucyBkZSBwcmVzZXJ2YSZjY2VkaWw7JmF0aWxkZTtvLiBWb2MmZWNpcmM7KHMpIHRhbWImZWFjdXRlO20gY29uY29yZGEobSkgcXVlIGEgVUZPUCwgZ2VzdG9yYSBkbyBSSS1VRk9QLCBwb2RlCiAgPGJyPgogIG1hbnRlciBtYWlzIGRlIHVtYSBjJm9hY3V0ZTtwaWEgZGVzdGUgZGVwJm9hY3V0ZTtzaXRvIHBhcmEgZmlucyBkZSBzZWd1cmFuJmNjZWRpbDthLCA8ZW0+YmFjay11cDwvZW0+IGUvb3UgcHJlc2VydmEmY2NlZGlsOyZhdGlsZGU7by4KICA8YnI+CiAgPGJyPgogIFZvYyZlY2lyYzsocykgZGVjbGFyYShtKSBxdWUgYSBhcHJlc2VudGEmY2NlZGlsOyZhdGlsZGU7byBkbyBzZXUgdHJhYmFsaG8gJmVhY3V0ZTsgb3JpZ2luYWwgZSBxdWUgdm9jJmVjaXJjOyhzKSBwb2RlKG0pIGNvbmNlZGVyIG9zIGRpcmVpdG9zIGNvbnRpZG9zCiAgPGJyPgogIG5lc3RhIGxpY2VuJmNjZWRpbDthLiBWb2MmZWNpcmM7KHMpIHRhbWImZWFjdXRlO20gZGVjbGFyYShtKSBxdWUgbyBlbnZpbyAmZWFjdXRlOyBkZSBzZXUgY29uaGVjaW1lbnRvIGUgbiZhdGlsZGU7byBpbmZyaW5nZSBvcyBkaXJlaXRvcyBhdXRvcmFpcyBkZSBvdXRyYQogIDxicj4KICBwZXNzb2Egb3UgaW5zdGl0dWkmY2NlZGlsOyZhdGlsZGU7by4gQ2FzbyBvIGRvY3VtZW50byBhIHNlciBkZXBvc2l0YWRvIGNvbnRlbmhhIG1hdGVyaWFsIHBhcmEgbyBxdWFsIHZvYyZlY2lyYzsocykgbiZhdGlsZGU7byBkZXQmZWFjdXRlO20gYSB0aXR1bGFyaWRhZGUKICA8YnI+CiAgZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCB2b2MmZWNpcmM7KHMpIGRlY2xhcmEobSkgcXVlIG9idGV2ZSBhIHBlcm1pc3MmYXRpbGRlO28gaXJyZXN0cml0YSBkbyB0aXR1bGFyIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBkZSBjb25jZWRlciAmYWdyYXZlOwogIDxicj4KICBVRk9QLCBnZXN0b3JhIGRvIFJJLVVGT1Agb3MgZGlyZWl0b3MgcmVxdWVyaWRvcyBwb3IgZXN0YSBsaWNlbiZjY2VkaWw7YSBlIHF1ZSBvcyBtYXRlcmlhaXMgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zLCBlc3QmYXRpbGRlO28KICA8YnI+CiAgZGV2aWRhbWVudGUgaWRlbnRpZmljYWRvcyBlIHJlY29uaGVjaWRvcyBubyB0ZXh0byBvdSBjb250ZSZ1YWN1dGU7ZG8gZGEgYXByZXNlbnRhJmNjZWRpbDsmYXRpbGRlO28uCiAgPGJyPgogIDxicj4KICBDQVNPIE8gVFJBQkFMSE8gREVQT1NJVEFETyBURU5IQSBTSURPIEZJTkFOQ0lBRE8gT1UgQVBPSUFETyBQT1IgVU0gJk9hY3V0ZTtSRyZBdGlsZGU7TywgUVVFIE4mQXRpbGRlO08gQSBJTlNUSVRVSSZDY2VkaWw7JkF0aWxkZTtPIERFU1RFCiAgPGJyPgogIFJFU1BPU0lUJk9hY3V0ZTtSSU86IFZPQyZFY2lyYzsgREVDTEFSQSBURVIgQ1VNUFJJRE8gVE9ET1MgT1MgRElSRUlUT1MgREUgUkVWSVMmQXRpbGRlO08gRSBRVUFJU1FVRVIgT1VUUkFTIE9CUklHQSZDY2VkaWw7Jk90aWxkZTtFUwogIDxicj4KICBSRVFVRVJJREFTIFBFTE8gQ09OVFJBVE8gT1UgQUNPUkRPLiAKICA8YnI+CiAgPGJyPgogIE8gcmVwb3NpdCZvYWN1dGU7cmlvIGlkZW50aWZpY2FyJmFhY3V0ZTsgY2xhcmFtZW50ZSBvIHNldShzKSBub21lKHMpIGNvbW8gYXV0b3IoZXMpIG91IHRpdHVsYXIoZXMpIGRvIGRpcmVpdG8gZGUgYXV0b3IoZXMpIGRvIGRvY3VtZW50bwogIDxicj4KICBzdWJtZXRpZG8gZSBkZWNsYXJhIHF1ZSBuJmF0aWxkZTtvIGZhciZhYWN1dGU7IHF1YWxxdWVyIGFsdGVyYSZjY2VkaWw7JmF0aWxkZTtvIGFsJmVhY3V0ZTttIGRhcyBwZXJtaXRpZGFzIHBvciBlc3RhIGxpY2VuJmNjZWRpbDthLjwvcD4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=Repositório InstitucionalPUBhttp://www.repositorio.ufop.br/oai/requestrepositorio@ufop.edu.bropendoar:32332019-06-12T17:07:38Repositório Institucional da UFOP - Universidade Federal de Ouro Preto (UFOP)false |
dc.title.pt_BR.fl_str_mv |
Towards higher-order types. |
title |
Towards higher-order types. |
spellingShingle |
Towards higher-order types. Figueiredo, Carlos Camarão de |
title_short |
Towards higher-order types. |
title_full |
Towards higher-order types. |
title_fullStr |
Towards higher-order types. |
title_full_unstemmed |
Towards higher-order types. |
title_sort |
Towards higher-order types. |
author |
Figueiredo, Carlos Camarão de |
author_facet |
Figueiredo, Carlos Camarão de Figueiredo, Lucília Camarão de |
author_role |
author |
author2 |
Figueiredo, Lucília Camarão de |
author2_role |
author |
dc.contributor.author.fl_str_mv |
Figueiredo, Carlos Camarão de Figueiredo, Lucília Camarão de |
description |
This article explores the use of types constrained by the definition of functions of given types. This notion supports both overloading and a form of subtyping, and is related to Haskell type classes and System O. We study an extension of the Damas-Milner system, in which overloaded functions can be defined. The inference system presented uses a context-independent overloading policy, specified by means of a predicate used in a single inference rule. The treatment of overloading is less restrictive than in similar systems. Type annotations are not required, but can be used to simplify inferred types. The work motivates the use of constrained types as parameters of other, higher-order types. |
publishDate |
1998 |
dc.date.issued.fl_str_mv |
1998 |
dc.date.accessioned.fl_str_mv |
2015-01-26T11:29:06Z |
dc.date.available.fl_str_mv |
2015-01-26T11:29:06Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/article |
format |
article |
status_str |
publishedVersion |
dc.identifier.citation.fl_str_mv |
FIGUEIREDO, C. C. de; FIGUEIREDO, L. C. de. Towards higher-order types. Electronic Notes in Theoretical Computer Science, New Orleans, v. 14, p. 38-51, 1998. Disponível em: <http://www.sciencedirect.com/science/article/pii/S1571066105802282>. Acesso em: 22 jan. 2015. |
dc.identifier.uri.fl_str_mv |
http://www.repositorio.ufop.br/handle/123456789/4377 |
dc.identifier.issn.none.fl_str_mv |
1571-0661 |
dc.identifier.doi.none.fl_str_mv |
https://doi.org/10.1016/S1571-0661(05)80228-2 |
identifier_str_mv |
FIGUEIREDO, C. C. de; FIGUEIREDO, L. C. de. Towards higher-order types. Electronic Notes in Theoretical Computer Science, New Orleans, v. 14, p. 38-51, 1998. Disponível em: <http://www.sciencedirect.com/science/article/pii/S1571066105802282>. Acesso em: 22 jan. 2015. 1571-0661 |
url |
http://www.repositorio.ufop.br/handle/123456789/4377 https://doi.org/10.1016/S1571-0661(05)80228-2 |
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.source.none.fl_str_mv |
reponame:Repositório Institucional da UFOP instname:Universidade Federal de Ouro Preto (UFOP) instacron:UFOP |
instname_str |
Universidade Federal de Ouro Preto (UFOP) |
instacron_str |
UFOP |
institution |
UFOP |
reponame_str |
Repositório Institucional da UFOP |
collection |
Repositório Institucional da UFOP |
bitstream.url.fl_str_mv |
http://www.repositorio.ufop.br/bitstream/123456789/4377/2/license.txt http://www.repositorio.ufop.br/bitstream/123456789/4377/1/ARTIGO_TowardsHigherOrder.pdf |
bitstream.checksum.fl_str_mv |
c2ffdd99e58acf69202dff00d361f23a 8d23f66a23f4958cded9c58c2b028329 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFOP - Universidade Federal de Ouro Preto (UFOP) |
repository.mail.fl_str_mv |
repositorio@ufop.edu.br |
_version_ |
1801685794232991744 |