Pattern-driven Reduction in Haskell

William L. Harrison, Richard B. Kieburtz · 2003

Haskell is a functional programming language with nominally non-strict semantics, implying that evaluation of a Haskell expression proceeds by demand-driven reduc-tion. However, Haskell also provides pattern matching on arguments of functions, in let expressions and in the match clauses of case expressions. Pattern-matching requires data-driven reduction to the extent necessary to evaluate a pattern match or to bind variables introduced in a pattern. In this paper we provide both an ab-stract semantics and a logical characterization of pattern-matching in Haskell and the reduction order that it entails. 1

Read the paper · More papers on PaperTik