
Richard Uhtenwoldt writes: : | The solution I prefer replaces that last with | | >main=do | > globalVar<-newIORef 0 | > let | > foo = fff aaa bbb ccc | > bar = ggg xxx yyy zzz | > mmm >> nnn >> ooo : | Am I the only one who prefers the above "lexical scope" solution | to all the solutions in Hughes's paper and given previously on | this list? No, I prefer it too. It would be even nicer with parameterised modules, so that we could do something like main = do globalVar <- newIORef 0 let import (EvenBulkierThanFooAndBar globalVar) foo = fff aaa bbb ccc bar = ggg xxx yyy zzz mmm >> nnn >> ooo instead of passing globalVar to several of EvenBulkierThanFooAndBar's exported functions separately. - Tom