A Represention Theorem for Second-Order Functionals
- Autores
- Jaskelioff, Mauro Javier; O'connor, Russell
- Año de publicación
- 2015
- Idioma
- inglés
- Tipo de recurso
- artículo
- Estado
- versión publicada
- Descripción
- Representation theorems relate seemingly complex objects to concrete, more tractable ones. In this paper, we take advantage of the abstraction power of category theory and provide a datatype-generic representation theorem. More precisely, we prove a representation theorem for a wide class of second-order functionals which are polymorphic over a class of functors. Types polymorphic over a class of functors are easily representable in languages such as Haskell, but are difficult to analyse and reason about. The concrete representation provided by the theorem is easier to analyse, but it might not be as convenient to implement. Therefore, depending on the task at hand, the change of representation may prove valuable in one direction or the other. We showcase the usefulness of the representation theorem with a range of examples. Concretely, we show how the representation theorem can be used to prove that traversable functors are finitary containers, how coalgebras of a parameterised store comonad relate to very well-behaved lenses, and how algebraic effects might be implemented in a functional language.
Fil: Jaskelioff, Mauro Javier. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Rosario. Centro Internacional Franco Argentino de Ciencias de la Información y Sistemas; Argentina
Fil: O'connor, Russell. Google; Canadá - Materia
-
POLYMORPHIC
FUNCTOR
FUNCTIONAL PROGRAMMING
HASKELL - Nivel de accesibilidad
- acceso abierto
- Condiciones de uso
- https://creativecommons.org/licenses/by/2.5/ar/
- Repositorio
- Institución
- Consejo Nacional de Investigaciones Científicas y Técnicas
- OAI Identificador
- oai:ri.conicet.gov.ar:11336/4807
Ver los metadatos del registro completo
id |
CONICETDig_4f3c144b7b111e35aa29057891359b4c |
---|---|
oai_identifier_str |
oai:ri.conicet.gov.ar:11336/4807 |
network_acronym_str |
CONICETDig |
repository_id_str |
3498 |
network_name_str |
CONICET Digital (CONICET) |
spelling |
A Represention Theorem for Second-Order FunctionalsJaskelioff, Mauro JavierO'connor, RussellPOLYMORPHICFUNCTORFUNCTIONAL PROGRAMMINGHASKELLhttps://purl.org/becyt/ford/1.2https://purl.org/becyt/ford/1Representation theorems relate seemingly complex objects to concrete, more tractable ones. In this paper, we take advantage of the abstraction power of category theory and provide a datatype-generic representation theorem. More precisely, we prove a representation theorem for a wide class of second-order functionals which are polymorphic over a class of functors. Types polymorphic over a class of functors are easily representable in languages such as Haskell, but are difficult to analyse and reason about. The concrete representation provided by the theorem is easier to analyse, but it might not be as convenient to implement. Therefore, depending on the task at hand, the change of representation may prove valuable in one direction or the other. We showcase the usefulness of the representation theorem with a range of examples. Concretely, we show how the representation theorem can be used to prove that traversable functors are finitary containers, how coalgebras of a parameterised store comonad relate to very well-behaved lenses, and how algebraic effects might be implemented in a functional language.Fil: Jaskelioff, Mauro Javier. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Rosario. Centro Internacional Franco Argentino de Ciencias de la Información y Sistemas; ArgentinaFil: O'connor, Russell. Google; CanadáCambridge University Press2015-09info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_6501info:ar-repo/semantics/articuloapplication/pdfapplication/pdfhttp://hdl.handle.net/11336/4807Jaskelioff, Mauro Javier; O'connor, Russell; A Represention Theorem for Second-Order Functionals; Cambridge University Press; Journal Of Functional Programming; 25; 9-2015; 1-360956-7968enginfo:eu-repo/semantics/altIdentifier/doi/info:eu-repo/semantics/altIdentifier/url/http://dx.doi.org/10.1017/S0956796815000088info:eu-repo/semantics/altIdentifier/issn/0956-7968info:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by/2.5/ar/reponame:CONICET Digital (CONICET)instname:Consejo Nacional de Investigaciones Científicas y Técnicas2025-09-29T10:36:58Zoai:ri.conicet.gov.ar:11336/4807instacron:CONICETInstitucionalhttp://ri.conicet.gov.ar/Organismo científico-tecnológicoNo correspondehttp://ri.conicet.gov.ar/oai/requestdasensio@conicet.gov.ar; lcarlino@conicet.gov.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:34982025-09-29 10:36:58.501CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicasfalse |
dc.title.none.fl_str_mv |
A Represention Theorem for Second-Order Functionals |
title |
A Represention Theorem for Second-Order Functionals |
spellingShingle |
A Represention Theorem for Second-Order Functionals Jaskelioff, Mauro Javier POLYMORPHIC FUNCTOR FUNCTIONAL PROGRAMMING HASKELL |
title_short |
A Represention Theorem for Second-Order Functionals |
title_full |
A Represention Theorem for Second-Order Functionals |
title_fullStr |
A Represention Theorem for Second-Order Functionals |
title_full_unstemmed |
A Represention Theorem for Second-Order Functionals |
title_sort |
A Represention Theorem for Second-Order Functionals |
dc.creator.none.fl_str_mv |
Jaskelioff, Mauro Javier O'connor, Russell |
author |
Jaskelioff, Mauro Javier |
author_facet |
Jaskelioff, Mauro Javier O'connor, Russell |
author_role |
author |
author2 |
O'connor, Russell |
author2_role |
author |
dc.subject.none.fl_str_mv |
POLYMORPHIC FUNCTOR FUNCTIONAL PROGRAMMING HASKELL |
topic |
POLYMORPHIC FUNCTOR FUNCTIONAL PROGRAMMING HASKELL |
purl_subject.fl_str_mv |
https://purl.org/becyt/ford/1.2 https://purl.org/becyt/ford/1 |
dc.description.none.fl_txt_mv |
Representation theorems relate seemingly complex objects to concrete, more tractable ones. In this paper, we take advantage of the abstraction power of category theory and provide a datatype-generic representation theorem. More precisely, we prove a representation theorem for a wide class of second-order functionals which are polymorphic over a class of functors. Types polymorphic over a class of functors are easily representable in languages such as Haskell, but are difficult to analyse and reason about. The concrete representation provided by the theorem is easier to analyse, but it might not be as convenient to implement. Therefore, depending on the task at hand, the change of representation may prove valuable in one direction or the other. We showcase the usefulness of the representation theorem with a range of examples. Concretely, we show how the representation theorem can be used to prove that traversable functors are finitary containers, how coalgebras of a parameterised store comonad relate to very well-behaved lenses, and how algebraic effects might be implemented in a functional language. Fil: Jaskelioff, Mauro Javier. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Rosario. Centro Internacional Franco Argentino de Ciencias de la Información y Sistemas; Argentina Fil: O'connor, Russell. Google; Canadá |
description |
Representation theorems relate seemingly complex objects to concrete, more tractable ones. In this paper, we take advantage of the abstraction power of category theory and provide a datatype-generic representation theorem. More precisely, we prove a representation theorem for a wide class of second-order functionals which are polymorphic over a class of functors. Types polymorphic over a class of functors are easily representable in languages such as Haskell, but are difficult to analyse and reason about. The concrete representation provided by the theorem is easier to analyse, but it might not be as convenient to implement. Therefore, depending on the task at hand, the change of representation may prove valuable in one direction or the other. We showcase the usefulness of the representation theorem with a range of examples. Concretely, we show how the representation theorem can be used to prove that traversable functors are finitary containers, how coalgebras of a parameterised store comonad relate to very well-behaved lenses, and how algebraic effects might be implemented in a functional language. |
publishDate |
2015 |
dc.date.none.fl_str_mv |
2015-09 |
dc.type.none.fl_str_mv |
info:eu-repo/semantics/article info:eu-repo/semantics/publishedVersion http://purl.org/coar/resource_type/c_6501 info:ar-repo/semantics/articulo |
format |
article |
status_str |
publishedVersion |
dc.identifier.none.fl_str_mv |
http://hdl.handle.net/11336/4807 Jaskelioff, Mauro Javier; O'connor, Russell; A Represention Theorem for Second-Order Functionals; Cambridge University Press; Journal Of Functional Programming; 25; 9-2015; 1-36 0956-7968 |
url |
http://hdl.handle.net/11336/4807 |
identifier_str_mv |
Jaskelioff, Mauro Javier; O'connor, Russell; A Represention Theorem for Second-Order Functionals; Cambridge University Press; Journal Of Functional Programming; 25; 9-2015; 1-36 0956-7968 |
dc.language.none.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
info:eu-repo/semantics/altIdentifier/doi/ info:eu-repo/semantics/altIdentifier/url/http://dx.doi.org/10.1017/S0956796815000088 info:eu-repo/semantics/altIdentifier/issn/0956-7968 |
dc.rights.none.fl_str_mv |
info:eu-repo/semantics/openAccess https://creativecommons.org/licenses/by/2.5/ar/ |
eu_rights_str_mv |
openAccess |
rights_invalid_str_mv |
https://creativecommons.org/licenses/by/2.5/ar/ |
dc.format.none.fl_str_mv |
application/pdf application/pdf |
dc.publisher.none.fl_str_mv |
Cambridge University Press |
publisher.none.fl_str_mv |
Cambridge University Press |
dc.source.none.fl_str_mv |
reponame:CONICET Digital (CONICET) instname:Consejo Nacional de Investigaciones Científicas y Técnicas |
reponame_str |
CONICET Digital (CONICET) |
collection |
CONICET Digital (CONICET) |
instname_str |
Consejo Nacional de Investigaciones Científicas y Técnicas |
repository.name.fl_str_mv |
CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicas |
repository.mail.fl_str_mv |
dasensio@conicet.gov.ar; lcarlino@conicet.gov.ar |
_version_ |
1844614390355066880 |
score |
13.070432 |