Razonando acerca de programas funcionales

Una de las grandes ventajas de los lenguajes funcionales puros es que permiten ser razonados ecuacionalmente, de esta forma, se facilita su depuración, vericación de la corrección, reducción, etc. Pero esta pureza impide los efectos computacionales necesarios para que este tipo de programas tengan i...

Full description

Autores:
Lobo Vesga, Elisabet
Tipo de recurso:
Fecha de publicación:
2012
Institución:
Universidad EAFIT
Repositorio:
Repositorio EAFIT
Idioma:
spa
OAI Identifier:
oai:repository.eafit.edu.co:10784/4553
Acceso en línea:
http://hdl.handle.net/10784/4553
Palabra clave:
Razonamiento ecuacional
mónadas
corrección
Rights
License
Acceso abierto
id REPOEAFIT2_71e97947b65266aadef3a5a7fd1d5b0e
oai_identifier_str oai:repository.eafit.edu.co:10784/4553
network_acronym_str REPOEAFIT2
network_name_str Repositorio EAFIT
repository_id_str
dc.title.spa.fl_str_mv Razonando acerca de programas funcionales
title Razonando acerca de programas funcionales
spellingShingle Razonando acerca de programas funcionales
Razonamiento ecuacional
mónadas
corrección
title_short Razonando acerca de programas funcionales
title_full Razonando acerca de programas funcionales
title_fullStr Razonando acerca de programas funcionales
title_full_unstemmed Razonando acerca de programas funcionales
title_sort Razonando acerca de programas funcionales
dc.creator.fl_str_mv Lobo Vesga, Elisabet
dc.contributor.eafitauthor.spa.fl_str_mv Elisabet Lobo Vesga (elobove@eafit.edu.co)
dc.contributor.author.none.fl_str_mv Lobo Vesga, Elisabet
dc.subject.spa.fl_str_mv Razonamiento ecuacional
mónadas
corrección
topic Razonamiento ecuacional
mónadas
corrección
description Una de las grandes ventajas de los lenguajes funcionales puros es que permiten ser razonados ecuacionalmente, de esta forma, se facilita su depuración, vericación de la corrección, reducción, etc. Pero esta pureza impide los efectos computacionales necesarios para que este tipo de programas tengan interacción alguna, es por esto que las funciones monádicas, que se encargan de encapsular estos efectos y así conservar la pureza, representan una estructura importante dentro de los lenguajes funcionales tales como Haskell. Sin embargo, debido a que las mónadas poseen una estructura imperativa, no se ha podido establecer una manera de poder razonar ecuacionalmente sobre éstas, el lograrlo supondría un avance significativo en lo que a verificación de programas se refiere. Por tanto, se presentan los conceptos básicos que permitan comprender cómo se razona sobre los programas y se muestra mediante un ejemplo la posibilidad de razonar ecuacionalmente sobre funciones monádicas.
publishDate 2012
dc.date.issued.none.fl_str_mv 2012-11
dc.date.available.none.fl_str_mv 2014-12-11T13:36:00Z
dc.date.accessioned.none.fl_str_mv 2014-12-11T13:36:00Z
dc.type.eng.fl_str_mv workingPaper
dc.type.none.fl_str_mv info:eu-repo/semantics/workingPaper
dc.type.coarversion.fl_str_mv http://purl.org/coar/version/c_b1a7d7d4d402bcce
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_8042
dc.type.local.spa.fl_str_mv Documento de trabajo de investigación
dc.type.hasVersion.spa.fl_str_mv draft
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/10784/4553
url http://hdl.handle.net/10784/4553
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.publisher.spa.fl_str_mv Universidad EAFIT
dc.publisher.program.spa.fl_str_mv Grupo de Investigación Lógica y Computación
dc.publisher.department.spa.fl_str_mv Universidad EAFIT. Escuela de Ciencias y Humanidades. Grupo de Investigación Lógica y Computación
institution Universidad EAFIT
bitstream.url.fl_str_mv https://repository.eafit.edu.co/bitstreams/3694fa4a-7245-4022-b6f0-f338c6b1b9ab/download
https://repository.eafit.edu.co/bitstreams/28e9568e-2537-46a0-883b-47daea706b06/download
bitstream.checksum.fl_str_mv 76025f86b095439b7ac65b367055d40c
aa3c9824f49db35ff44391a7423ceebb
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_ 1808498907480588288
spelling 2014-12-11T13:36:00Z2012-112014-12-11T13:36:00Zhttp://hdl.handle.net/10784/4553Una de las grandes ventajas de los lenguajes funcionales puros es que permiten ser razonados ecuacionalmente, de esta forma, se facilita su depuración, vericación de la corrección, reducción, etc. Pero esta pureza impide los efectos computacionales necesarios para que este tipo de programas tengan interacción alguna, es por esto que las funciones monádicas, que se encargan de encapsular estos efectos y así conservar la pureza, representan una estructura importante dentro de los lenguajes funcionales tales como Haskell. Sin embargo, debido a que las mónadas poseen una estructura imperativa, no se ha podido establecer una manera de poder razonar ecuacionalmente sobre éstas, el lograrlo supondría un avance significativo en lo que a verificación de programas se refiere. Por tanto, se presentan los conceptos básicos que permitan comprender cómo se razona sobre los programas y se muestra mediante un ejemplo la posibilidad de razonar ecuacionalmente sobre funciones monádicas.spaUniversidad EAFITGrupo de Investigación Lógica y ComputaciónUniversidad EAFIT. Escuela de Ciencias y Humanidades. Grupo de Investigación Lógica y ComputaciónRazonamiento ecuacionalmónadascorrecciónRazonando acerca de programas funcionalesworkingPaperinfo:eu-repo/semantics/workingPaperDocumento de trabajo de investigacióndrafthttp://purl.org/coar/version/c_b1a7d7d4d402bccehttp://purl.org/coar/resource_type/c_8042Acceso abiertohttp://purl.org/coar/access_right/c_abf2Elisabet Lobo Vesga (elobove@eafit.edu.co)Lobo Vesga, ElisabetLICENSElicense.txtlicense.txttext/plain; charset=utf-82556https://repository.eafit.edu.co/bitstreams/3694fa4a-7245-4022-b6f0-f338c6b1b9ab/download76025f86b095439b7ac65b367055d40cMD51ORIGINALLoboVesga-2012.Practica-investigativa-I.Razonando-acerca-de-programas-funcionales.pdfLoboVesga-2012.Practica-investigativa-I.Razonando-acerca-de-programas-funcionales.pdfapplication/pdf216571https://repository.eafit.edu.co/bitstreams/28e9568e-2537-46a0-883b-47daea706b06/downloadaa3c9824f49db35ff44391a7423ceebbMD5210784/4553oai:repository.eafit.edu.co:10784/45532014-12-11 08:36:00.483open.accesshttps://repository.eafit.edu.coRepositorio Institucional Universidad EAFITrepositorio@eafit.edu.coSS4gT0JSQVMgWUEgUFVCTElDQURBUwoKUGFyYSBvYnJhcyB5YSBwdWJsaWNhZGFzIHNlIHJlcXVpZXJlLCBwYXJhIGVsIGFyY2hpdm8geSBkaXZ1bGdhY2nDs24gZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBFQUZJVCwgcXVlIGVsIGF1dG9yIGNvbm96Y2EgeSB2YWxpZGUgbGFzIGNvbmRpY2lvbmVzIGVuIHF1ZSBoYSBzdXNjcml0byBsb3MgYWN1ZXJkb3MgZGUgY2VzacOzbiBvIGxpY2VuY2lhIGRlIGRlcmVjaG9zIGRlIGF1dG9yIGNvbiBsYShzKSBlZGl0b3JpYWwoZXMpIGVuIGxhcyBxdWUgaGEgcHVibGljYWRvIGxhIG9icmEuCgpFc3RhIHZlcmlmaWNhY2nDs24gc2UgcHVlZGUgcmVhbGl6YXIgY29uc3VsdGFuZG8gbGFzIGJhc2VzIGRlIGRhdG9zIFNIRVJQQSAvIFJPTUVPIHkgRFVMQ0lORUEsIHBhcmEgY29ub2NlciBsYSBwb2zDrXRpY2Egc29icmUgZGVyZWNob3MgZGUgYXV0b3IgZGUgbGEgcmVzcGVjdGl2YSBlZGl0b3JpYWwuIEVuIGNhc28gZGUgcXVlIGxhIGVkaXRvcmlhbCBubyBzZSBlbmN1ZW50cmUgZW4gZXN0YXMgYmFzZXMgZGUgZGF0b3MsIGVsIGF1dG9yIGRlYmUgY29uc3VsdGFyIGRpcmVjdGFtZW50ZSBjb24gZWwgcmVzcG9uc2FibGUgZGUgbGEgZmlybWEgZGUgbGEgbGljZW5jaWEgcG9yIHBhcnRlIGRlIGxhIGVkaXRvcmlhbC4KCkNvbnN1bHRhciBQb2zDrXRpY2EgZGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwuCgpJSS4gT0JSQVMgSU7DiURJVEFTCgpFbCBhdXRvciBjb25zZXJ2YSB0b2RvcyBsb3MgZGVyZWNob3MsIGNvbiBsbyBjdWFsIHB1ZWRlIHB1YmxpY2FybGEgcG9zdGVyaW9ybWVudGUuIFNlIHJlY29taWVuZGEgY29ub2Nlci9yZXZpc2FyIGxhIHBvbMOtdGljYSBkZSBkb25kZSBzZSBwcmV2w6kgcHVibGljYXIsIGRhZG8gcXVlIGFsZ3Vub3MgcHVibGljYWRvcmVzIHPDs2xvIGFjZXB0YW4gdHJhYmFqb3Mgbm8gZGlmdW5kaWRvcyBjb24gYW50ZXJpb3JpZGFkLiBQdWVkZSBjb25zdWx0YXIgbGEgYmFzZSBkZSBkYXRvcyBTSEVSUEEvUk9NRU8qIG8gRFVMQ0lORUEqKiwgcGFyYSBjb25vY2VyIGxhIHBvbMOtdGljYSBzb2JyZSBkZXJlY2hvcyBkZSBhdXRvciBkZSBsYSByZXNwZWN0aXZhIGVkaXRvcmlhbC4KCkFVVE9SSVpBQ0nDk04gREUgUFVCTElDQUNJw5NOIEVOIEZPUk1BIEFOQUzDk0dJQ0EgTyBESUdJVEFMIERFIExBIE9CUkEuCgpBdXRvcml6byBlbiBmb3JtYSBncmF0dWl0YSB5IHBvciB0aWVtcG8gaW5kZWZpbmlkbyBhIGxhIFVuaXZlcnNpZGFkIEVBRklUIHBhcmEgcmVhbGl6YXIgbGFzIHNpZ3VpZW50ZXMgYWN0aXZpZGFkZXM6CgotIFB1YmxpY2FyIGVuIGZvcm1hIGVsZWN0csOzbmljYSBvIGRpdnVsZ2FyIHBvciBtZWRpbyBlbGVjdHLDs25pY28gZWwgdGV4dG8gZGVsIHRyYWJham8gY29uIGVsIGZpbiBkZSBzZXIgY29uc3VsdGFkbyBwb3IgZWwgcMO6YmxpY28gZW4gaHR0cDovL3d3dy5lYWZpdC5lZHUuY28vYmlibGlvdGVjYQotIFB1YmxpY2FyIGVuIGZvcm1hIGVsZWN0csOzbmljYSwgZGl2dWxnYXIgcG9yIG1lZGlvIGVsZWN0csOzbmljbyB5IHByZXNlcnZhciBlbCB0ZXh0byBkZWwgdHJhYmFqbyBjb24gZWwgZmluIGRlIHNlciBjb25zdWx0YWRvIHBvciBlbCBww7pibGljbyBlbiBodHRwOi8vcmVwb3NpdG9yeS5lYWZpdC5lZHUuY28KClRvZG8gcGVyc29uYSBxdWUgY29uc3VsdGUgZWwgbWF0ZXJpYWwgYmllbiBzZWEgZGUgZm9ybWEgYW5hbMOzZ2ljYSBvIGRpZ2l0YWwsIHBvZHLDoSByZWFsaXphciBjaXRhcyBjb25mb3JtZSBhIGxvIHBlcm1pdGlkbyBwb3IgbGEgbGV5IGNpdGFuZG8gZW4gdG9kbyBjYXNvIGxhcyBmdWVudGVzLiBFc3RhIGF1dG9yaXphY2nDs24gbm8gaW1wbGljYSByZW51bmNpYSBhIGxhIGZhY3VsdGFkIHF1ZSB0ZW5nbyBkZSBwdWJsaWNhciB0b3RhbCBvIHBhcmNpYWxtZW50ZSBsYSBvYnJhLgoKRGVjbGFybyBxdWUgc295IGVsIGF1dG9yIHkgdGl0dWxhciBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgeSBxdWUgbGEgbWlzbWEgZXMgb3JpZ2luYWwsIHBvciBsbyB0YW50byBsYSBVbml2ZXJzaWRhZCBFQUZJVCBubyBzZXLDoSByZXNwb25zYWJsZSBkZSBuaW5ndW5hIHJlY2xhbWFjacOzbiBxdWUgcHVkaWVyYSBzdXJnaXIgcG9yIHBhcnRlIGRlIHRlcmNlcm9zIHF1ZSBpbnZvcXVlbiBhdXRvcsOtYSBkZSBsYSBvYnJhIHF1ZSBwcmVzZW50by4KClNpIHRpZW5lIGFsZ3VuYSBkdWRhIHNvYnJlIGxhIGxpY2VuY2lhLCBwb3IgZmF2b3IsIGNvbnRhY3RlIGNvbiBlbCBhZG1pbmlzdHJhZG9yIGRlbCBzaXN0ZW1hLgoKRGVjbGFybyBxdWUgY29ub3pjbyBsYSBwb2zDrXRpY2EgZGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgeSBjb25jZWRvIGxhIGF1dG9yaXphY2nDs24uCgpfX19fX19fX19fX19fX18KKCopIFNoZXJwYS4gRGlzcG9uaWJsZSBlbjogaHR0cDovL3d3dy5zaGVycGEuYWMudWsvcm9tZW8vP2xhPWVzCigqKikgRHVsY2luZWEuIERpc3BvbmlibGUgZW46IGh0dHA6Ly93d3cuYWNjZXNvYWJpZXJ0by5uZXQvZHVsY2luZWEK