
On Sat, 2007-11-17 at 13:30 -0500, John D. Ramsdell wrote: ...
It seems rather hard to avoid lazyness in the current version of Haskell when it's not wanted. I hope one of the proposals for deep strictness makes it into Haskell prime. In my application, there is one datastructure, such that if every value tracable from an instance of the datastructure is evaluated, I am quite sure my program will be free from memory leaks due to dragging. I wish I could tell compilers to make it so.
Use strict constructors. Using strict data types is most probably the appropriate way to deal with many cases where you would want a deep seq. In particular, head strict lists would not be a bad addition. There is a library out there with several strict data types.