
1 Feb
2008
1 Feb
'08
4:44 a.m.
Aaron Denney wrote:
On 2008-02-01, Roman Leshchinskiy
wrote: Bulat Ziganshin wrote:
the right way to deal with "modifiers" is to attach them to the Handle itself like this:
f <- openFile "name" >>= withLocking >>= withEncoding utf8 IMO, global state is never "the right way" if it can be avoided. It will always lead to problems. Especially in a functional language like Haskell.
This isn't global state, but local to the handle, and only affects where the handle is passed in. It's just extending an opaque data type.
If I can destructively change the encoding assocated with a Handle, then it's global state. Roman