On Thursday 25 November 2004 00:38, Ben Rudiak-Gould wrote:
John Meacham wrote:
With my mdo proposal, and I think all proposals brought forth, the module system behaves identically to how it normally does for namespace control. [...] modules do not change code at all, they are pure syntantic sugar for deciding what names you can see.
I'm not sure I understand your mdo proposal correctly then. A lot of this debate has been over what should happen when a module has a top-level action like
x <- putStrLn "hello"
Everyone agrees that "hello" should be printed at most once, [...]
And I thought at least everyone agreed that things like that should not be allowed. Instead, only a "safe" subset of things that are currently in IO should be allowed to appear at the top-level, such as creation of mutable reference cells. Ben