Programming with narrowing: A tutorial
TL;DR: 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.
read more
About: This article is published in Journal of Symbolic Computation. The article was published on 01 May 2010. and is currently open access. The article focuses on the topics: Functional logic programming & Fifth-generation programming language.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Term Rewriting Systems
Enno Ohlebusch
- 01 Jan 2002
TL;DR: This chapter presents the basic concepts of term rewriting that are needed in this book and suggests several survey articles that can be consulted.
964
A Needed Narrowing Strategy
Sergio Antoy,Rachid Echahed,Michael Hanus +2 more
- 01 Jan 1994
TL;DR: In this article, the authors propose a new narrowing strategy that is optimal in several respects, such as sound and complete for a large class of rewrite systems, is optimal with respect to the cost measure that counts the number of distinct steps of a derivation, computes only incomparable and disjoint unifiers, and is efficiently implemented by unification.
17
On the Correctness of Pull-Tabbing
TL;DR: This work formally defines the pull-tab transformation, characterize the class of programs for which the transformation is intended, extend the computations in these programs to include the transformation, and prove the correctness of the extended computations.
16
Non-linear Pattern Matching with Backtracking for Non-free Data Types
Satoshi Egi,Yuichi Nishiwaki +1 more
TL;DR: Egison as mentioned in this paper is a pattern-matching-oriented programming language that satisfies all the above three criteria, including efficiency of the backtracking algorithm for non-linear patterns, extensibility of matching process, and polymorphism in patterns.
8
Transforming Boolean equalities into constraints
Sergio Antoy,Michael Hanus +1 more
TL;DR: It is shown that one kind of equational expressions is sufficient and unification is nothing else than an optimization of Boolean equality.
6
References
A Machine-Oriented Logic Based on the Resolution Principle
TL;DR: The paper concludes with a discussion of several principles which are applicable to the design of efficient proof-procedures employing resolution as the basle logical process.
4.4K
•Book
Term rewriting and all that
Franz Baader,Tobias Nipkow +1 more
- 01 Jan 1998
TL;DR: This chapter discusses abstract reduction systems, universal algebra, and Grobner bases and Buchberger's algorithm, and a bluffer's guide to ML Bibliography Index.
2.8K
•Book
The Definition of Standard ML
Robin Milner,Mads Tofte,Robert Harper +2 more
- 01 Jan 1990
TL;DR: This book provides a formal definition of Standard ML for the benefit of all concerned with the language, including users and implementers, and the authors have defined their semantic objects in mathematical notation that is completely independent of StandardML.
2.7K
CHAPTER 6 – Rewrite Systems
Nachum Dershowitz
- 01 Jan 1990
TL;DR: In this paper, the authors focus on rewrite systems, which are directed equations used to compute by repeatedly replacing sub-terms of a given formula with equal terms until the simplest form possible is obtained.
1.6K
•Book
Program development by Stepwise Refinement
Niklaus Wirth
- 01 Jan 2002
TL;DR: The process of successive refinement of specifications is illustrated by a short but nontrivial example, from which a number of conclusions are drawn regarding the art and the instruction of programming.
1.1K