
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 (http://freearc.narod.ru/Streams.tar.gz) 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 references: class Ref m r | r->m, m->r where newRef::... readRef::... writeRef:... 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@gmail.com