Skip Navigation

Journal of Logic and Computation 2003 13(2):287-312; doi:10.1093/logcom/13.2.287
© 2003 by Oxford University Press
This Article
Right arrow Full Text (PDF)
Right arrow Alert me when this article is cited
Right arrow Alert me if a correction is posted
Services
Right arrow Email this article to a friend
Right arrow Similar articles in this journal
Right arrow Similar articles in ISI Web of Science
Right arrow Alert me to new issues of the journal
Right arrow Add to My Personal Archive
Right arrow Download to citation manager
Right arrow Search for citing articles in:
ISI Web of Science (1)
Right arrowRequest Permissions
Google Scholar
Right arrow Articles by Alpuente, M.
Right arrow Articles by Vidal, G.
Right arrow Search for Related Content
Social Bookmarking
 Add to CiteULike   Add to Connotea   Add to Del.icio.us  
What's this?


Original Article

Uniform Lazy Narrowing

María Alpuente1, Moreno Falaschi2, Pascual Julián3 and Germán Vidal4

1 DSIC, Technical University of Valencia, Camino de Vera s/n, E-46022 Valencia, Spain. E-mail: alpuente{at}dsic.upv.es, 2 DMI, Università di Udine, Via delle Scienze 206, 33100 Udine, Italy. E-mail: falaschi{at}dimi.uniud.it, 3 Dpto. de Informática, Universidad de Castilla - La Mancha, Paseo de la Universidad 4, 13071 Ciudad Real, Spain. E-mail: pjulian{at}inf-cr.uclm.es, 4 DSIC, Technical University of Valencia, Camino de Vera s/n, E-46022 Valencia, Spain. E-mail: gvidal{at}dsic.upv.es

Needed narrowing is a complete and optimal operational principle for modern declarative languages which integrate the best features of lazy functional and logic programming. We investigate the formal relation between needed narrowing and another (not so lazy) narrowing strategy which is the basis for popular implementations of lazy functional logic languages. We demonstrate that needed narrowing and lazy narrowing are computationally equivalent over the class of uniform programs. We also introduce a complete refinement of lazy narrowing, called uniform lazy narrowing, which is still equivalent to needed narrowing over the aforementioned class. Since actual implementations of functional logic languages are based on the transformation of the original program into a uniform one—which is then executed using a lazy narrowing strategy—our results can be thought of as a formal basis for the correctness of these implementations.

Keywords: Functional logic programming; narrowing strategies


Received 30 January 2002.


Add to CiteULike CiteULike   Add to Connotea Connotea   Add to Del.icio.us Del.icio.us    What's this?




Disclaimer:
Please note that abstracts for content published before 1996 were created through digital scanning and may therefore not exactly replicate the text of the original print issues. All efforts have been made to ensure accuracy, but the Publisher will not be held responsible for any remaining inaccuracies. If you require any further clarification, please contact our Customer Services Department.