Programming with non-determinism: a rewriting based approach

Este trabajo trata acerca del uso del indeterminismo como un recurso expresivo de los lenguajes de programación. En los lenguajes indeterministas se ofrecen primitivas que pueden ser utilizadas para expresar cómputos cuyo resultado final no está totalmente determinado por los datos de entrada. En es...

Descripción completa

Detalles Bibliográficos
Autor: Rodríguez Hortalá, Juan
Tipo de recurso: tesis doctoral
Fecha de publicación:2010
País:España
Institución:Universidad Complutense de Madrid (UCM)
Repositorio:Docta Complutense
Idioma:inglés
OAI Identifier:oai:docta.ucm.es:20.500.14352/47569
Acceso en línea:https://hdl.handle.net/20.500.14352/47569
Access Level:acceso abierto
Palabra clave:004.42.048(043.2)
Programación declarativa
Lenguajes de programación
Programación lógica
Programación funcional
Programación
1203.23 Lenguajes de Programación
id ES_c091c67fc894f582399b75da14c8a25b
oai_identifier_str oai:docta.ucm.es:20.500.14352/47569
network_acronym_str ES
network_name_str España
repository_id_str
spelling Programming with non-determinism: a rewriting based approachProgramación con indeterminismo: un enfoque basado en reescrituraRodríguez Hortalá, Juan004.42.048(043.2)Programación declarativaLenguajes de programaciónProgramación lógicaProgramación funcionalProgramaciónLenguajes de programación1203.23 Lenguajes de ProgramaciónEste trabajo trata acerca del uso del indeterminismo como un recurso expresivo de los lenguajes de programación. En los lenguajes indeterministas se ofrecen primitivas que pueden ser utilizadas para expresar cómputos cuyo resultado final no está totalmente determinado por los datos de entrada. En estos lenguajes, en los que la concurrencia no tiene porqué estar presente, el indeterminismo es parte del modelo de cómputo. La programación lógico-funcional, o en general, la programación declarativa multiparadigma, constituye un importante campo de investigación que intenta integrar en el mismo lenguaje las principales virtudes de varios paradigmas independientes: programación lógica, programación funcional perezosa e incluso programación con restricciones. Dos representantes modernos de esta linea son los lenguajes Toy y Curry, que comparten sus características principales. En estos lenguajes se emplean sistemas de reescritura de términos no confluentes como programas, de esta manera soportando funciones no estrictas e indeterministas, que son una de las características distintivas del paradigma. En esta tesis hemos intentado hacer algunas contribuciones al campo de la programación lógico-funcional indeterminista, usando los sistemas de reescritura basados en constructoras como el punto de partida de nuestros formalismos. Nuestros objetivos son diversos, a menudo al nivel de las descripciones semánticas, donde tratamos de aportar construcciones y resultados que esperamos puedan ser de utilidad para profundizar en la comprensión del significado de los programas, o como herramientas para la manipulación, análisis y transformación de programas. También nos hemos ocupado de aspectos más prácticos, y algunos prototipos han sido desarrollados a consecuencia de ello. Unas veces trabajamos en un marco consolidado---concretamente call-time choice o run-time choice---mientras que otras hemos decidido explorar las capacidades expresivas de las funciones indeterministas proponiendo nuevos marcos semánticos, algunos de ellos surgiendo de la combinación de semánticas ya existentes, otros presentando propuestas semánticas más novedosas.Universidad Complutense de Madrid, Servicio de PublicacionesLópez Fraguas, Francisco JavierSánchez Hernández, JaimeUniversidad Complutense de Madrid20102010-12-0320102010-12-03doctoral thesishttp://purl.org/coar/resource_type/c_db06info:eu-repo/semantics/doctoralThesisapplication/pdfhttps://hdl.handle.net/20.500.14352/47569reponame:Docta Complutenseinstname:Universidad Complutense de Madrid (UCM)Inglésengopen accesshttp://purl.org/coar/access_right/c_abf2info:eu-repo/semantics/openAccessoai:docta.ucm.es:20.500.14352/475692026-06-02T12:44:21Z
dc.title.none.fl_str_mv Programming with non-determinism: a rewriting based approach
Programación con indeterminismo: un enfoque basado en reescritura
title Programming with non-determinism: a rewriting based approach
spellingShingle Programming with non-determinism: a rewriting based approach
Rodríguez Hortalá, Juan
004.42.048(043.2)
Programación declarativa
Lenguajes de programación
Programación lógica
Programación funcional
Programación
Lenguajes de programación
1203.23 Lenguajes de Programación
title_short Programming with non-determinism: a rewriting based approach
title_full Programming with non-determinism: a rewriting based approach
title_fullStr Programming with non-determinism: a rewriting based approach
title_full_unstemmed Programming with non-determinism: a rewriting based approach
title_sort Programming with non-determinism: a rewriting based approach
dc.creator.none.fl_str_mv Rodríguez Hortalá, Juan
author Rodríguez Hortalá, Juan
author_facet Rodríguez Hortalá, Juan
author_role author
dc.contributor.none.fl_str_mv López Fraguas, Francisco Javier
Sánchez Hernández, Jaime
Universidad Complutense de Madrid
dc.subject.none.fl_str_mv 004.42.048(043.2)
Programación declarativa
Lenguajes de programación
Programación lógica
Programación funcional
Programación
Lenguajes de programación
1203.23 Lenguajes de Programación
topic 004.42.048(043.2)
Programación declarativa
Lenguajes de programación
Programación lógica
Programación funcional
Programación
Lenguajes de programación
1203.23 Lenguajes de Programación
description Este trabajo trata acerca del uso del indeterminismo como un recurso expresivo de los lenguajes de programación. En los lenguajes indeterministas se ofrecen primitivas que pueden ser utilizadas para expresar cómputos cuyo resultado final no está totalmente determinado por los datos de entrada. En estos lenguajes, en los que la concurrencia no tiene porqué estar presente, el indeterminismo es parte del modelo de cómputo. La programación lógico-funcional, o en general, la programación declarativa multiparadigma, constituye un importante campo de investigación que intenta integrar en el mismo lenguaje las principales virtudes de varios paradigmas independientes: programación lógica, programación funcional perezosa e incluso programación con restricciones. Dos representantes modernos de esta linea son los lenguajes Toy y Curry, que comparten sus características principales. En estos lenguajes se emplean sistemas de reescritura de términos no confluentes como programas, de esta manera soportando funciones no estrictas e indeterministas, que son una de las características distintivas del paradigma. En esta tesis hemos intentado hacer algunas contribuciones al campo de la programación lógico-funcional indeterminista, usando los sistemas de reescritura basados en constructoras como el punto de partida de nuestros formalismos. Nuestros objetivos son diversos, a menudo al nivel de las descripciones semánticas, donde tratamos de aportar construcciones y resultados que esperamos puedan ser de utilidad para profundizar en la comprensión del significado de los programas, o como herramientas para la manipulación, análisis y transformación de programas. También nos hemos ocupado de aspectos más prácticos, y algunos prototipos han sido desarrollados a consecuencia de ello. Unas veces trabajamos en un marco consolidado---concretamente call-time choice o run-time choice---mientras que otras hemos decidido explorar las capacidades expresivas de las funciones indeterministas proponiendo nuevos marcos semánticos, algunos de ellos surgiendo de la combinación de semánticas ya existentes, otros presentando propuestas semánticas más novedosas.
publishDate 2010
dc.date.none.fl_str_mv 2010
2010-12-03
2010
2010-12-03
dc.type.none.fl_str_mv doctoral thesis
http://purl.org/coar/resource_type/c_db06
dc.type.openaire.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
dc.identifier.none.fl_str_mv https://hdl.handle.net/20.500.14352/47569
url https://hdl.handle.net/20.500.14352/47569
dc.language.none.fl_str_mv Inglés
eng
language_invalid_str_mv Inglés
language eng
dc.rights.none.fl_str_mv open access
http://purl.org/coar/access_right/c_abf2
dc.rights.openaire.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv open access
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidad Complutense de Madrid, Servicio de Publicaciones
publisher.none.fl_str_mv Universidad Complutense de Madrid, Servicio de Publicaciones
dc.source.none.fl_str_mv reponame:Docta Complutense
instname:Universidad Complutense de Madrid (UCM)
instname_str Universidad Complutense de Madrid (UCM)
reponame_str Docta Complutense
collection Docta Complutense
repository.name.fl_str_mv
repository.mail.fl_str_mv
_version_ 1869418488489050112
score 15,301629