How to add laziness to a strict language without even being odd

This note explicates two styles of lazy programming, showing how one (called \odd") is easy to encode in the tradi-tionaìdelay' and`force' syntax, but forces too much evaluation , while the other (called \even") delays evaluation as in traditional lazy languages, but is harder to encode. It presents a newìazy' syntax, and shows how the even style is easy to encode in this syntax, while the odd style is harder to encode. The newìazy' syntax is deened by translation into thèdelay-force' syntax. Comparisons are drawn with two other syntaxes, one used in CAML and one proposed by Chris Okasaki, and a prototype implementation in SML/NJ is described.