collecting requirements for FDs

Bulat Ziganshin bulat.ziganshin at
Tue Apr 11 04:56:20 EDT 2006

Hello Ross,

Tuesday, April 11, 2006, 3:43:18 AM, you wrote:

> The favourite customer for FDs has been the monad transformer library.

> What other libraries should Haskell' support, and what are their
> requirements?

why you think that FD are required only for libs? :)  i think it's
better to ask in main Haskell list where FDs really used

my own library ( use FDs widely
for monad-involving classes. one typical example is:

class Stream m h | h->m

where each Stream type `h` is working (i.e. can be read/written) in
some monad `m`. Another class defines monad-independent operations on

class Ref m r | r->m, m->r where

This class used in definitions of monad-independent Stream
Transformers, i.e. transformers that can be applied to streams working
in any monad (references used to hold internal transformer's state).

instances of stream classes sometimes are very complex:

instance (ByteStream m h, Ref m r) => BinaryStream m (BitAligned h r)
instance (TextStream m h, ByteStream m h, BinaryStream m (BitAligned h r))
  => TextStream m (BitAligned h r) where

i'm not sure that G' should support my library but at least it
provides feature-extended replacement for Handles, binary I/O and
serializaition facilities. i think that extending Streams to work in
any monads is what the hskellers would like to see

Best regards,
 Bulat                            mailto:Bulat.Ziganshin at

More information about the Haskell-prime mailing list