John Meacham wrote:
I should say that efficiency is the only thing I have been concerned about in this conversation. As I said in the mdo proposal, there is no efficient and safe way to do global variables in haskell.
I think George Russell's library (with a simple extension) can be used to create global variables safely and with the same per-access efficiency as the other proposals: http://www.mail-archive.com/haskell@haskell.org/msg15709.html
Your library addresses a different issue, it provides an interface for global variables, but it doesn't address the fundamental problem that your library or ones like it cannot be implemented in haskell. [...much elaboration on this idea omitted...]
I think I completely answered this objection in another message yesterday: http://www.mail-archive.com/haskell@haskell.org/msg15723.html In short, his proposal should be considered in the same light as yours, as a /primitive/ extension to Haskell. (But I'd prefer you respond to my previous message rather than that sentence.) -- Ben