Main > Programming > Libraries >

Streams 0.1.7

Streams 0.1.7

Sponsored Links

Streams 0.1.7 Ranking & Summary

RankingClick at the star to rank
Ranking Level
User Review: 0 (0 times)
File size: 0.23 MB
Platform: Any Platform
License: BSD License
Price:
Downloads: 1065
Date added: 2006-11-28
Publisher: Bulat Ziganshin

Streams 0.1.7 description

Streams is an I/O library designed to eventually replace the current I/O facilities based on using Handles. The main advantage is its strong modular design using typeclasses. It consists of small independent modules, each implementing one type of stream (file, memory buffer, pipe, etc.) or one part of common stream functionality (buffering, char encoding, locking, etc.).

3rd-party librarie can easily add new stream types and new common functionality. Other benefits of the new library include support for streams functioning in any monad, Hugs and GHC compatibility, high speed, and an easy migration path from the existing I/O library. It is heavily based on the HVIO module written by John Goerzen.

Simple Streams

The key concept of the lib is the Stream class, whose interface mimics familiar interface for Handles, just with "h" replaced with "v" in function names:

class (Monad m) => Stream m h where
vPutStrLn :: h -> String -> m ()
vGetContents :: h -> m String
vIsEOF :: h -> m Bool
vClose :: h -> m ()
....................

This means that you already know how to use any stream! The Stream interface currently has 8 implementations: a Handle itself, raw files, pipes, memory buffers and string buffers. Future plans include support for memory-mapped files, sockets, circular memory buffers for interprocess communication and UArray-based streams.
By themselves, these Stream implementations are rather simple.

Basically, to implement new Stream type, its enough to provide vPutBuf/vGetBuf operations, or even vGetChar/vPutChar. The latter way, although inefficient, allows us to implement streams that can work in any monad. StringReader and StringBuffer streams use this to provide string-based Stream class implementations both for IO and ST monads. Yes, you can use the full power of Stream operations inside the ST monad!

Streams 0.1.7 Screenshot

Advertisements

Streams 0.1.7 Keywords

Bookmark Streams 0.1.7

Hyperlink code:
Link for forum:

Streams 0.1.7 Copyright

WareSeeker periodically updates pricing and software information of Streams 0.1.7 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of Streams 0.1.7 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed

Allok Video Splitter 2.2.0 Review:

Name (Required)
Email(Required)
Captcha
Featured Software

Want to place your software product here?
Please contact us for consideration.

Contact WareSeeker.com
Related Software
GSAMBAD is a frontend for the Samba file and print server. Free Download
GEO project is a C++ geometric template class library. Free Download
Stream-2-Stream allows anyone with a normal broadband connection to set up their own internet television or radio station, free. Free Download
Mediastreamer is library written in C that allows you to create and run audio and video streams. Free Download
CurlyAnkles is a versatile library written in C on GNU/Linux. Free Download
Work Order is a web-based ticket processing system available from Network-Technologies is new software written in PHP. Free Download
m2psd is a fast MPEG-2 Program Stream demultiplexer. Free Download
AmarokPidgin is a plugin for Amarok that updates your Pidgin status message with what you are currently listening too. Free Download