Category theory applied to functional programming

We study some of the applications of category theory to functional programming, particularly in the context of the Haskell functional programming language, and the Agda dependently typed functional programming language and proof assistant -- More specifically, we describe and explain the concepts of...

Full description

Autores:
Villa Isaza, Juan Pedro
Tipo de recurso:
Fecha de publicación:
2014
Institución:
Universidad EAFIT
Repositorio:
Repositorio EAFIT
Idioma:
spa
OAI Identifier:
oai:repository.eafit.edu.co:10784/7251
Acceso en línea:
http://hdl.handle.net/10784/7251
Palabra clave:
Haskell (Lenguaje de programación de computadores)
Espacios funcionales
Polimorfismo paramétrico
AGDA (Lenguaje de programación funcional)
TEORÍA DE LAS MÁQUINAS
POLIMORFISMO
PROGRAMACIÓN FUNCIONAL (COMPUTADORES)
ÁLGEBRAS LINEALES
PROGRAMACIÓN GENÉTICA (CIENCIA DE LA COMPUTACIÓN)
PROGRAMACIÓN LÓGICA
Machine theory
Polymorphism
Functional programming (Computer science)
Algebras, linear
Genetic programming (Computer science)
Logic programming
Rights
License
Acceso abierto
id REPOEAFIT2_c41521de475005ce54f724295731b569
oai_identifier_str oai:repository.eafit.edu.co:10784/7251
network_acronym_str REPOEAFIT2
network_name_str Repositorio EAFIT
repository_id_str
dc.title.spa.fl_str_mv Category theory applied to functional programming
title Category theory applied to functional programming
spellingShingle Category theory applied to functional programming
Haskell (Lenguaje de programación de computadores)
Espacios funcionales
Polimorfismo paramétrico
AGDA (Lenguaje de programación funcional)
TEORÍA DE LAS MÁQUINAS
POLIMORFISMO
PROGRAMACIÓN FUNCIONAL (COMPUTADORES)
ÁLGEBRAS LINEALES
PROGRAMACIÓN GENÉTICA (CIENCIA DE LA COMPUTACIÓN)
PROGRAMACIÓN LÓGICA
Machine theory
Polymorphism
Functional programming (Computer science)
Algebras, linear
Genetic programming (Computer science)
Logic programming
title_short Category theory applied to functional programming
title_full Category theory applied to functional programming
title_fullStr Category theory applied to functional programming
title_full_unstemmed Category theory applied to functional programming
title_sort Category theory applied to functional programming
dc.creator.fl_str_mv Villa Isaza, Juan Pedro
dc.contributor.advisor.none.fl_str_mv Sicard Ramírez, Andrés
dc.contributor.author.none.fl_str_mv Villa Isaza, Juan Pedro
dc.subject.spa.fl_str_mv Haskell (Lenguaje de programación de computadores)
Espacios funcionales
Polimorfismo paramétrico
topic Haskell (Lenguaje de programación de computadores)
Espacios funcionales
Polimorfismo paramétrico
AGDA (Lenguaje de programación funcional)
TEORÍA DE LAS MÁQUINAS
POLIMORFISMO
PROGRAMACIÓN FUNCIONAL (COMPUTADORES)
ÁLGEBRAS LINEALES
PROGRAMACIÓN GENÉTICA (CIENCIA DE LA COMPUTACIÓN)
PROGRAMACIÓN LÓGICA
Machine theory
Polymorphism
Functional programming (Computer science)
Algebras, linear
Genetic programming (Computer science)
Logic programming
dc.subject.none.fl_str_mv AGDA (Lenguaje de programación funcional)
dc.subject.lemb.spa.fl_str_mv TEORÍA DE LAS MÁQUINAS
POLIMORFISMO
PROGRAMACIÓN FUNCIONAL (COMPUTADORES)
ÁLGEBRAS LINEALES
PROGRAMACIÓN GENÉTICA (CIENCIA DE LA COMPUTACIÓN)
PROGRAMACIÓN LÓGICA
dc.subject.keyword.spa.fl_str_mv Machine theory
Polymorphism
Functional programming (Computer science)
Algebras, linear
Genetic programming (Computer science)
Logic programming
description We study some of the applications of category theory to functional programming, particularly in the context of the Haskell functional programming language, and the Agda dependently typed functional programming language and proof assistant -- More specifically, we describe and explain the concepts of category theory needed for conceptualizing and better understanding algebraic data types and folds, functors, monads, and parametrically polymorphic functions -- With this purpose, we give a detailed account of categories, functors and endofunctors, natural transformations, monads and Kleisli triples, algebras and initial algebras over endofunctors, among others -- In addition, we explore all of these concepts from the standpoints of categories and programming in Haskell, and, in some cases, Agda -- In other words, we examine functional programming through category theory
publishDate 2014
dc.date.issued.none.fl_str_mv 2014
dc.date.available.none.fl_str_mv 2015-08-11T21:35:11Z
dc.date.accessioned.none.fl_str_mv 2015-08-11T21:35:11Z
dc.type.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.eng.fl_str_mv bachelorThesis
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.local.spa.fl_str_mv Trabajo de grado
dc.type.hasVersion.eng.fl_str_mv acceptedVersion
dc.identifier.other.none.fl_str_mv 005.133CD712C
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/10784/7251
identifier_str_mv 005.133CD712C
url http://hdl.handle.net/10784/7251
dc.language.iso.spa.fl_str_mv spa
language spa
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.local.spa.fl_str_mv Acceso abierto
rights_invalid_str_mv Acceso abierto
http://purl.org/coar/access_right/c_abf2
dc.coverage.spatial.eng.fl_str_mv Medellín de: Lat: 06 15 00 N degrees minutes Lat: 6.2500 decimal degrees Long: 075 36 00 W degrees minutes Long: -75.6000 decimal degrees
dc.publisher.spa.fl_str_mv Universidad EAFIT
dc.publisher.program.spa.fl_str_mv Ingeniería de Sistemas
dc.publisher.department.spa.fl_str_mv Escuela de Ingeniería. Departamento de Ingeniería de Sistemas
institution Universidad EAFIT
bitstream.url.fl_str_mv https://repository.eafit.edu.co/bitstreams/88be44ed-c069-4bb0-b70a-2688c395d9c0/download
https://repository.eafit.edu.co/bitstreams/7e1145f2-6e93-474e-8192-a572bf3095de/download
bitstream.checksum.fl_str_mv 76025f86b095439b7ac65b367055d40c
ed131e2a703fb2a69e00400a0d5a1f3b
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad EAFIT
repository.mail.fl_str_mv repositorio@eafit.edu.co
_version_ 1814110197024555008
spelling Sicard Ramírez, AndrésVilla Isaza, Juan PedroIngeniero de SistemasMedellín de: Lat: 06 15 00 N degrees minutes Lat: 6.2500 decimal degrees Long: 075 36 00 W degrees minutes Long: -75.6000 decimal degrees2015-08-11T21:35:11Z20142015-08-11T21:35:11Z005.133CD712Chttp://hdl.handle.net/10784/7251We study some of the applications of category theory to functional programming, particularly in the context of the Haskell functional programming language, and the Agda dependently typed functional programming language and proof assistant -- More specifically, we describe and explain the concepts of category theory needed for conceptualizing and better understanding algebraic data types and folds, functors, monads, and parametrically polymorphic functions -- With this purpose, we give a detailed account of categories, functors and endofunctors, natural transformations, monads and Kleisli triples, algebras and initial algebras over endofunctors, among others -- In addition, we explore all of these concepts from the standpoints of categories and programming in Haskell, and, in some cases, Agda -- In other words, we examine functional programming through category theoryspaUniversidad EAFITIngeniería de SistemasEscuela de Ingeniería. Departamento de Ingeniería de SistemasHaskell (Lenguaje de programación de computadores)Espacios funcionalesPolimorfismo paramétricoAGDA (Lenguaje de programación funcional)TEORÍA DE LAS MÁQUINASPOLIMORFISMOPROGRAMACIÓN FUNCIONAL (COMPUTADORES)ÁLGEBRAS LINEALESPROGRAMACIÓN GENÉTICA (CIENCIA DE LA COMPUTACIÓN)PROGRAMACIÓN LÓGICAMachine theoryPolymorphismFunctional programming (Computer science)Algebras, linearGenetic programming (Computer science)Logic programmingCategory theory applied to functional programminginfo:eu-repo/semantics/bachelorThesisbachelorThesisTrabajo de gradoacceptedVersionhttp://purl.org/coar/resource_type/c_7a1fAcceso abiertohttp://purl.org/coar/access_right/c_abf2LICENSElicense.txtlicense.txttext/plain; charset=utf-82556https://repository.eafit.edu.co/bitstreams/88be44ed-c069-4bb0-b70a-2688c395d9c0/download76025f86b095439b7ac65b367055d40cMD51ORIGINALJuan_VillaIsaza_2014.pdfJuan_VillaIsaza_2014.pdfTrabajo de gradoapplication/pdf663614https://repository.eafit.edu.co/bitstreams/7e1145f2-6e93-474e-8192-a572bf3095de/downloaded131e2a703fb2a69e00400a0d5a1f3bMD5210784/7251oai:repository.eafit.edu.co:10784/72512019-11-26 12:30:31.972open.accesshttps://repository.eafit.edu.coRepositorio Institucional Universidad EAFITrepositorio@eafit.edu.coSS4gT0JSQVMgWUEgUFVCTElDQURBUwoKUGFyYSBvYnJhcyB5YSBwdWJsaWNhZGFzIHNlIHJlcXVpZXJlLCBwYXJhIGVsIGFyY2hpdm8geSBkaXZ1bGdhY2nDs24gZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBFQUZJVCwgcXVlIGVsIGF1dG9yIGNvbm96Y2EgeSB2YWxpZGUgbGFzIGNvbmRpY2lvbmVzIGVuIHF1ZSBoYSBzdXNjcml0byBsb3MgYWN1ZXJkb3MgZGUgY2VzacOzbiBvIGxpY2VuY2lhIGRlIGRlcmVjaG9zIGRlIGF1dG9yIGNvbiBsYShzKSBlZGl0b3JpYWwoZXMpIGVuIGxhcyBxdWUgaGEgcHVibGljYWRvIGxhIG9icmEuCgpFc3RhIHZlcmlmaWNhY2nDs24gc2UgcHVlZGUgcmVhbGl6YXIgY29uc3VsdGFuZG8gbGFzIGJhc2VzIGRlIGRhdG9zIFNIRVJQQSAvIFJPTUVPIHkgRFVMQ0lORUEsIHBhcmEgY29ub2NlciBsYSBwb2zDrXRpY2Egc29icmUgZGVyZWNob3MgZGUgYXV0b3IgZGUgbGEgcmVzcGVjdGl2YSBlZGl0b3JpYWwuIEVuIGNhc28gZGUgcXVlIGxhIGVkaXRvcmlhbCBubyBzZSBlbmN1ZW50cmUgZW4gZXN0YXMgYmFzZXMgZGUgZGF0b3MsIGVsIGF1dG9yIGRlYmUgY29uc3VsdGFyIGRpcmVjdGFtZW50ZSBjb24gZWwgcmVzcG9uc2FibGUgZGUgbGEgZmlybWEgZGUgbGEgbGljZW5jaWEgcG9yIHBhcnRlIGRlIGxhIGVkaXRvcmlhbC4KCkNvbnN1bHRhciBQb2zDrXRpY2EgZGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwuCgpJSS4gT0JSQVMgSU7DiURJVEFTCgpFbCBhdXRvciBjb25zZXJ2YSB0b2RvcyBsb3MgZGVyZWNob3MsIGNvbiBsbyBjdWFsIHB1ZWRlIHB1YmxpY2FybGEgcG9zdGVyaW9ybWVudGUuIFNlIHJlY29taWVuZGEgY29ub2Nlci9yZXZpc2FyIGxhIHBvbMOtdGljYSBkZSBkb25kZSBzZSBwcmV2w6kgcHVibGljYXIsIGRhZG8gcXVlIGFsZ3Vub3MgcHVibGljYWRvcmVzIHPDs2xvIGFjZXB0YW4gdHJhYmFqb3Mgbm8gZGlmdW5kaWRvcyBjb24gYW50ZXJpb3JpZGFkLiBQdWVkZSBjb25zdWx0YXIgbGEgYmFzZSBkZSBkYXRvcyBTSEVSUEEvUk9NRU8qIG8gRFVMQ0lORUEqKiwgcGFyYSBjb25vY2VyIGxhIHBvbMOtdGljYSBzb2JyZSBkZXJlY2hvcyBkZSBhdXRvciBkZSBsYSByZXNwZWN0aXZhIGVkaXRvcmlhbC4KCkFVVE9SSVpBQ0nDk04gREUgUFVCTElDQUNJw5NOIEVOIEZPUk1BIEFOQUzDk0dJQ0EgTyBESUdJVEFMIERFIExBIE9CUkEuCgpBdXRvcml6byBlbiBmb3JtYSBncmF0dWl0YSB5IHBvciB0aWVtcG8gaW5kZWZpbmlkbyBhIGxhIFVuaXZlcnNpZGFkIEVBRklUIHBhcmEgcmVhbGl6YXIgbGFzIHNpZ3VpZW50ZXMgYWN0aXZpZGFkZXM6CgotIFB1YmxpY2FyIGVuIGZvcm1hIGVsZWN0csOzbmljYSBvIGRpdnVsZ2FyIHBvciBtZWRpbyBlbGVjdHLDs25pY28gZWwgdGV4dG8gZGVsIHRyYWJham8gY29uIGVsIGZpbiBkZSBzZXIgY29uc3VsdGFkbyBwb3IgZWwgcMO6YmxpY28gZW4gaHR0cDovL3d3dy5lYWZpdC5lZHUuY28vYmlibGlvdGVjYQotIFB1YmxpY2FyIGVuIGZvcm1hIGVsZWN0csOzbmljYSwgZGl2dWxnYXIgcG9yIG1lZGlvIGVsZWN0csOzbmljbyB5IHByZXNlcnZhciBlbCB0ZXh0byBkZWwgdHJhYmFqbyBjb24gZWwgZmluIGRlIHNlciBjb25zdWx0YWRvIHBvciBlbCBww7pibGljbyBlbiBodHRwOi8vcmVwb3NpdG9yeS5lYWZpdC5lZHUuY28KClRvZG8gcGVyc29uYSBxdWUgY29uc3VsdGUgZWwgbWF0ZXJpYWwgYmllbiBzZWEgZGUgZm9ybWEgYW5hbMOzZ2ljYSBvIGRpZ2l0YWwsIHBvZHLDoSByZWFsaXphciBjaXRhcyBjb25mb3JtZSBhIGxvIHBlcm1pdGlkbyBwb3IgbGEgbGV5IGNpdGFuZG8gZW4gdG9kbyBjYXNvIGxhcyBmdWVudGVzLiBFc3RhIGF1dG9yaXphY2nDs24gbm8gaW1wbGljYSByZW51bmNpYSBhIGxhIGZhY3VsdGFkIHF1ZSB0ZW5nbyBkZSBwdWJsaWNhciB0b3RhbCBvIHBhcmNpYWxtZW50ZSBsYSBvYnJhLgoKRGVjbGFybyBxdWUgc295IGVsIGF1dG9yIHkgdGl0dWxhciBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgeSBxdWUgbGEgbWlzbWEgZXMgb3JpZ2luYWwsIHBvciBsbyB0YW50byBsYSBVbml2ZXJzaWRhZCBFQUZJVCBubyBzZXLDoSByZXNwb25zYWJsZSBkZSBuaW5ndW5hIHJlY2xhbWFjacOzbiBxdWUgcHVkaWVyYSBzdXJnaXIgcG9yIHBhcnRlIGRlIHRlcmNlcm9zIHF1ZSBpbnZvcXVlbiBhdXRvcsOtYSBkZSBsYSBvYnJhIHF1ZSBwcmVzZW50by4KClNpIHRpZW5lIGFsZ3VuYSBkdWRhIHNvYnJlIGxhIGxpY2VuY2lhLCBwb3IgZmF2b3IsIGNvbnRhY3RlIGNvbiBlbCBhZG1pbmlzdHJhZG9yIGRlbCBzaXN0ZW1hLgoKRGVjbGFybyBxdWUgY29ub3pjbyBsYSBwb2zDrXRpY2EgZGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgeSBjb25jZWRvIGxhIGF1dG9yaXphY2nDs24uCgpfX19fX19fX19fX19fX18KKCopIFNoZXJwYS4gRGlzcG9uaWJsZSBlbjogaHR0cDovL3d3dy5zaGVycGEuYWMudWsvcm9tZW8vP2xhPWVzCigqKikgRHVsY2luZWEuIERpc3BvbmlibGUgZW46IGh0dHA6Ly93d3cuYWNjZXNvYWJpZXJ0by5uZXQvZHVsY2luZWEK