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
CONICET Digital (CONICET)
Institución
Consejo Nacional de Investigaciones Científicas y Técnicas
OAI Identificador
oai:ri.conicet.gov.ar:11336/4807

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