The logic of demand in Haskell
2005 ◽
Vol 15
(6)
◽
pp. 837-891
◽
Keyword(s):
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.
2007 ◽
Vol 17
(1)
◽
pp. 131-143
◽
2019 ◽
Vol 10
(6)
◽
2012 ◽
pp. 263-282
◽
1991 ◽
Vol 1
(1)
◽
pp. 3-20
◽
1995 ◽
Vol 5
(1)
◽
pp. 81-110
◽
2004 ◽
Vol 17
(3)
◽
pp. 207-243
◽