On Wed, Oct 19, 2011 at 5:03 PM, Johan Tibell <johan.tib...@gmail.com> wrote: > > It does. You need to use evaluate to have ensure actually be evaluated. >
I'm almost certain you're wrong about this. The bang pattern on the return from ensure (!r1 <- ensure $ ...) forces r1 to WHNF, which goes through deepseq, and thus the whole list is forced. See https://gist.github.com/1299380 for a short counterexample. G -- Gregory Collins <g...@gregorycollins.net> _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe