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...
Salvato in:
| Autore principale: | |
|---|---|
| Natura: | masterThesis |
| Lingua: | spagnolo |
| Pubblicazione: |
2010
|
| Soggetti: | |
| Accesso online: | http://hdl.handle.net/20.500.12008/2959 |
| Tags: |
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 |