Programming with narrowing: A tutorial

  • Authors:
  • Sergio Antoy

  • Affiliations:
  • Computer Science Department, Portland State University, P.O. Box 751, Portland, OR 97207, USA

  • Venue:
  • Journal of Symbolic Computation
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.