How to replace failure by a list of successes a method for exception handling, backtracking, and pattern matching in lazy functional languages

Research output: Chapter in Book/Report/Conference proceedingChapter

Abstract

Should special features for exception handling, backtracking, or pattern matching be included in a programming language? This paper presents a method whereby some programs that use these features can be re-written in a functional language with lazy evaluation, without the use of any special features. This method may be of use for practicing functional programmers; in addition, it provides further evidence of the power of lazy evaluation. The method itself is straightforward: each term that may raise an exception or backtrack is replaced by a term that returns a list of values. In the special case of pattern matching without backtracking, the method can be applied even if lazy evaluation is not present. The method should be suitable for applications such as theorem proving using tacticals, as in ML/LCF.
Original languageEnglish
Title of host publicationFunctional Programming Languages and Computer Architecture
EditorsJean-Pierre Jouannaud
PublisherSpringer-Verlag GmbH
Pages113-128
Number of pages16
ISBN (Print)978-3-540-15975-9
DOIs
Publication statusPublished - 1985

Publication series

NameLecture Notes in Computer Science
PublisherSpringer Berlin / Heidelberg
Volume201
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Fingerprint

Dive into the research topics of 'How to replace failure by a list of successes a method for exception handling, backtracking, and pattern matching in lazy functional languages'. Together they form a unique fingerprint.

Cite this