Fine Control of Demand in Haskell

  • Authors:
  • William Harrison;Tim Sheard;James Hook

  • Affiliations:
  • -;-;-

  • Venue:
  • MPC '02 Proceedings of the 6th International Conference on Mathematics of Program Construction
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Functional languages have the 驴-calculus at their core, but then depart from this firm foundation by including features that alter their default evaluation order. The resulting mixed evaluation--partly lazy and partly strict--complicates the formal semantics of these languages. The functional language Haskell is such a language, with features such as pattern-matching, case expressions with guards, etc., in troducing a modicum of strictness into the otherwise lazy language. But just how does Haskell differ from the lazy 驴-calculus? We answer this question by introducing a calculational semantics for Haskell that exposes the interaction of its strict features with its default laziness.