Haskell is a functional programming language whose evaluation is lazy by default. However, Haskell also provides pattern matching facilities which add a modicum of eagerness to its otherwise lazy default evaluation. This mixed or "non-strict" semantics can be quite difficult to reason with. This paper introduces a programming logic, P-logic, which neatly formalizes the mixed evaluation in Haskell pattern-matching as a logic, thereby simplifying the task of specifying and verifying Haskell programs. In p-logic, aspects of demand are reflected or represented within both the predicate language and its model theory, allowing for expressive and comprehensible program verification. © 2005 Cambridge University Press.
CITATION STYLE
Harrison, W. L., & Kieburtz, R. B. (2005). The logic of demand in Haskell. Journal of Functional Programming, 15(6), 837–891. https://doi.org/10.1017/S0956796805005666
Mendeley helps you to discover research relevant for your work.