collecting requirements for FDs
Bulat Ziganshin
bulat.ziganshin at gmail.com
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 (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 at gmail.com
More information about the Haskell-prime
mailing list