Proposal: Add concatMapM function (#2042)

Roman Leshchinskiy rl at
Fri Feb 1 04:44:06 EST 2008

Aaron Denney wrote:
> On 2008-02-01, Roman Leshchinskiy <rl at> 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.


More information about the Libraries mailing list