Fusión en presencia de acumuladores

En programación funcional es común escribir los programas como la composición de funciones relativamente más sencillas. Esto tiene todas las ventajas asociadas a un estilo de programación modular. Sin embargo los programas obtenidos pueden ver afectada su eficiencia debido a la generación de las est...

Descrizione completa

Salvato in:
Dettagli Bibliografici
Autore principale: Martínez Amarante, Mónica María (author)
Natura: masterThesis
Lingua:spagnolo
Pubblicazione: 2010
Soggetti:
Accesso online:http://hdl.handle.net/20.500.12008/2959
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1868889948779708416
author Martínez Amarante, Mónica María
author_browse Martínez Amarante, Mónica María
author_facet Martínez Amarante, Mónica María
author_role author
collection COLIBRI
dc.creator.none.fl_str_mv Martínez Amarante, Mónica María
dc.date.none.fl_str_mv 2010
2014-11-24T22:36:38Z
2014-11-24T22:36:38Z
20141202
dc.format.none.fl_str_mv 151 p.
application/pdf
dc.identifier.none.fl_str_mv MARTÍNEZ AMARANTE, M. "Fusión en presencia de acumuladores". Tesis de maestría, Universidad de la República (Uruguay). Facultad de Ingeniería. Instituto de Computación – PEDECIBA, 2010.
http://hdl.handle.net/20.500.12008/2959
dc.language.none.fl_str_mv es
spa
dc.publisher.none.fl_str_mv UR. FI-INCO,
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
Licencia Creative Commons Atribución – No Comercial – Sin Derivadas (CC BY-NC-ND 4.0)
dc.source.none.fl_str_mv reponame:COLIBRI
instname:Universidad de la República
instacron:Universidad de la República
dc.subject.none.fl_str_mv PROGRAMACION FUNCIONAL
Transformación de Programas
dc.title.none.fl_str_mv Fusión en presencia de acumuladores
dc.type.none.fl_str_mv Tesis de maestría
info:eu-repo/semantics/masterThesis
info:eu-repo/semantics/acceptedVersion
description En programación funcional es común escribir los programas como la composición de funciones relativamente más sencillas. Esto tiene todas las ventajas asociadas a un estilo de programación modular. Sin embargo los programas obtenidos pueden ver afectada su eficiencia debido a la generación de las estructuras de datos intermedias que son utilizadas como comunicación entre las funciones involucradas en las composiciones. Existe un conjunto de técnicas de transformación de programas, conocidas como fusión o deforestación, que apuntan a la eliminación de estas estructuras intermedias y permiten obtener definiciones más eficientes, equivalentes a las originales. El objetivo es posibilitar que el programador pueda continuar escribiendo sus programas de forma composicional y generar un código Equivalente, más eficiente, que sea el que efectivamente se ejecute. En este trabajo se considera el caso particular donde las funciones involucradas son tales que construyen sus resultados utilizando un parámetro adicional de acumulación. Las técnicas de fusión clásicas no suelen ser efectivas en el caso de estas funciones ya que no consiguen eliminar las estructuras intermedias cuando las mismas son generadas en los parámetros de acumulación. Como primera aproximación a una solución del problema se realiza una revisión del operador afold propuesto por Pardo, el cual permite la definición de funciones con acumuladores por recursión estructural sobre tipos polinomiales.
eu_rights_str_mv openAccess
format masterThesis
id anni_0bac2d357964e2b4bccde4644ce6c015
identifier_str_mv MARTÍNEZ AMARANTE, M. "Fusión en presencia de acumuladores". Tesis de maestría, Universidad de la República (Uruguay). Facultad de Ingeniería. Instituto de Computación – PEDECIBA, 2010.
instacron_str Universidad de la República
institution Universidad de la República
instname_str Universidad de la República
language spa
language_invalid_str_mv es
network_acronym_str anni
network_name_str oai-lr-anni
oai_identifier_str oai:colibri.udelar.edu.uy:20.500.12008/2959
publishDate 2010
publishDateSort 2010
publisher.none.fl_str_mv UR. FI-INCO,
reponame_str COLIBRI
repository.mail.fl_str_mv
repository.name.fl_str_mv
repository_id_str
rights_invalid_str_mv Licencia Creative Commons Atribución – No Comercial – Sin Derivadas (CC BY-NC-ND 4.0)
spelling Fusión en presencia de acumuladoresMartínez Amarante, Mónica MaríaPROGRAMACION FUNCIONALTransformación de ProgramasEn programación funcional es común escribir los programas como la composición de funciones relativamente más sencillas. Esto tiene todas las ventajas asociadas a un estilo de programación modular. Sin embargo los programas obtenidos pueden ver afectada su eficiencia debido a la generación de las estructuras de datos intermedias que son utilizadas como comunicación entre las funciones involucradas en las composiciones. Existe un conjunto de técnicas de transformación de programas, conocidas como fusión o deforestación, que apuntan a la eliminación de estas estructuras intermedias y permiten obtener definiciones más eficientes, equivalentes a las originales. El objetivo es posibilitar que el programador pueda continuar escribiendo sus programas de forma composicional y generar un código Equivalente, más eficiente, que sea el que efectivamente se ejecute. En este trabajo se considera el caso particular donde las funciones involucradas son tales que construyen sus resultados utilizando un parámetro adicional de acumulación. Las técnicas de fusión clásicas no suelen ser efectivas en el caso de estas funciones ya que no consiguen eliminar las estructuras intermedias cuando las mismas son generadas en los parámetros de acumulación. Como primera aproximación a una solución del problema se realiza una revisión del operador afold propuesto por Pardo, el cual permite la definición de funciones con acumuladores por recursión estructural sobre tipos polinomiales.Se presenta una modificación al operador que permite ampliar el conjunto de funciones capaz de representar. Posteriormente la tesis se concentra en la propuesta de un nuevo método de fusión basado en el método de "Short-Cut Fusion" que contempla el caso en que la función productora genera sus resultados utilizando parámetros de acumulación. Se muestra la aplicación del nuevo método a programas Haskell y se realiza una serie de pruebas que permiten comparar la performance desde el punto de vista del tiempo de ejecución y el espacio de memoria requerido entre las versiones originales y transformadas de un conjunto de programas ejemplo.UR. FI-INCO,2014-11-24T22:36:38Z2014-11-24T22:36:38Z201020141202Tesis de maestríainfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/acceptedVersion151 p.application/pdfMARTÍNEZ AMARANTE, M. "Fusión en presencia de acumuladores". Tesis de maestría, Universidad de la República (Uruguay). Facultad de Ingeniería. Instituto de Computación – PEDECIBA, 2010.http://hdl.handle.net/20.500.12008/2959reponame:COLIBRIinstname:Universidad de la Repúblicainstacron:Universidad de la RepúblicaesspaLas obras depositadas en el Repositorio se rigen por la Ordenanza de los Derechos de la Propiedad Intelectual de la Universidad De La República. (Res. Nº 91 de C.D.C. de 8/III/1994 – D.O. 7/IV/1994) y por la Ordenanza del Repositorio Abierto de la Universidad de la República (Res. Nº 16 de C.D.C. de 07/10/2014)info:eu-repo/semantics/openAccessLicencia Creative Commons Atribución – No Comercial – Sin Derivadas (CC BY-NC-ND 4.0)oai:colibri.udelar.edu.uy:20.500.12008/29592026-04-14T10:27:51Z
spellingShingle Fusión en presencia de acumuladores
Martínez Amarante, Mónica María
PROGRAMACION FUNCIONAL
Transformación de Programas
status_str acceptedVersion
title Fusión en presencia de acumuladores
title_full Fusión en presencia de acumuladores
title_fullStr Fusión en presencia de acumuladores
title_full_unstemmed Fusión en presencia de acumuladores
title_short Fusión en presencia de acumuladores
title_sort Fusión en presencia de acumuladores
topic PROGRAMACION FUNCIONAL
Transformación de Programas
url http://hdl.handle.net/20.500.12008/2959