In case someone cares - after some battles with functions that are less lazy than expected, I have written a tutorial on how to get functions lazy and how to test, whether they are actually lazy:
http://www.haskell.org/haskellwiki/Maintaining_laziness
I found it especially enlightening, that one can avoid a 'force' function in a lazy parser by making the possibility of a parser failure explicit in its type. I.e. a parser that cannot fail, need no 'force'. (I learnt that in polyparse the 'force' function is hidden in 'apply':
http://hackage.haskell.org/packages/archive/polyparse/1.1/doc/html/Text-ParserCombinators-PolyLazy.html#v%3Aapply ) _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe