Programming with narrowing: A tutorial

Narrowing is a computation implemented by some declarative programming languages. Research in the last decade has produced significant results on the theory and foundation of narrowing, but little has been published on the use of narrowing in programming. This paper introduces narrowing from a progr...

Full description

Saved in:
Bibliographic Details
Published in:Journal of symbolic computation Vol. 45; no. 5; pp. 501 - 522
Main Author: Antoy, Sergio
Format: Journal Article
Language:English
Published: Elsevier Ltd 01.05.2010
Subjects:
ISSN:0747-7171, 1095-855X
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Narrowing is a computation implemented by some declarative programming languages. Research in the last decade has produced significant results on the theory and foundation of narrowing, but little has been published on the use of narrowing in programming. This paper introduces narrowing from a programmer’s viewpoint; shows, by means of examples, when, why and how to use narrowing in a program; and discusses the impact of narrowing on software development activities such as design and maintenance. The examples are coded in the programming language Curry, which provides narrowing as a first class feature.
ISSN:0747-7171
1095-855X
DOI:10.1016/j.jsc.2010.01.006