
31 Jan
2007
31 Jan
'07
5:36 a.m.
On Wed, 2007-01-31 at 19:51 +1100, Donald Bruce Stewart wrote: . . .
foldl (\water dish -> wash water dish) soapywater dishes :: [Dishes]
Nice example. First, note that you can't get close with map -- you need accumulation across the dishes. Second, the correctness of this plan depends on the rather strong frame axiom that no entity in the environment is changed during a step of the fold, so no broken dishes. Finally, that doesn't work so well when there are constraints on the order that the dishes are washed, for example when washing the cruddiest dishes first while there are more suds. -- Bill Wood