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...
- 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 |