dev-haskell / io-streams

Simple, composable, and easy-to-use stream I/O

Official package sites : http://hackage.haskell.org/package/io-streams ·

/Overview/ The io-streams library contains simple and easy-to-use primitives for I/O using streams. Most users will want to import the top-level convenience module "System.IO.Streams", which re-exports most of the library: @ import "System.IO.Streams" (InputStream, OutputStream) import qualified "System.IO.Streams" as Streams @ For first-time users, @io-streams@ comes with an included tutorial, which can be found in the "System.IO.Streams.Tutorial" module. /Features/ The @io-streams@ user API has two basic types: @InputStream a@ and @OutputStream a@, and three fundamental I/O primitives: @ \-\- read an item from an input stream Streams.'System.IO.Streams.read' :: 'System.IO.Streams.InputStream' a -> IO (Maybe a) \-\- push an item back to an input stream Streams.'System.IO.Streams.unRead' :: a -> 'System.IO.Streams.InputStream' a -> IO () \-\- write to an output stream Streams.'System.IO.Streams.write' :: Maybe a -> 'System.IO.Streams.OutputStream' a -> IO () @ Streams can be transformed by composition and hooked together with provided combinators: @ ghci> Streams.fromList [1,2,3::Int] >>= Streams.map (*10) >>= Streams.toList [10,20,30] @ Stream composition leaves the original stream accessible: @ ghci> input \<- Streams.fromByteString \"long string\" ghci> wrapped \<- Streams.takeBytes 4 input ghci> Streams.read wrapped Just \"long\" ghci> Streams.read wrapped Nothing ghci> Streams.read input Just \" string\" @ Simple types and operations in the IO monad mean straightforward and simple exception handling and resource cleanup using Haskell standard library facilities like 'Control.Exception.bracket'. @io-streams@ comes with: * functions to use files, handles, concurrent channels, sockets, lists, vectors, and more as streams. * a variety of combinators for wrapping and transforming streams, including compression and decompression using zlib, controlling precisely how many bytes are read from or written to a stream, buffering output using bytestring builders, folds, maps, filters, zips, etc. * support for parsing from streams using @attoparsec@. * support for spawning processes and communicating with them using streams. /ChangeLog/ [@1.1.4.2@] Fixed a build error with network versions older than 2.4. [@1.1.4.1@] @System.IO.Streams.Network@: scalability improvement: buffers for socket reads are now allocated by system malloc rather than by pinned pointers in GHC (currently pinned pointer allocation takes a global lock). [@1.1.4.0@] Widened @attoparsec@ and @text@ library dependencies to allow the latest versions. [@1.1.3.0@] Added @System.IO.Streams.ByteString.takeExactly@. Widened @network@ dependency to include 2.3. Added a @NoInteractiveTests@ flag to selectively disable some tests for environments where spawning interactive processes is impossible. [@1.1.2.2@] Allowed newest versions of the @process@, @test-framework@, and @text@ libraries. [@1.1.2.1@] Fixed build error when compiled against attoparsec-0.10.0.x. [@1.1.2.0@] Added @System.IO.Streams.Concurrent.makeChanPipe@, to create a simple concurrent pipe between an @InputStream@/@OutputStream@ pair. [@1.1.1.0@] Added @System.IO.Streams.Network.socketToStreamsWithBufferSize@, allowing control over the size of the receive buffers used when reading from sockets. [@1.1.0.3@] Fixed an inconsistent version upper bound in the test suite. [@1.1.0.2@] Fixed a typo in the tutorial. [@1.1.0.1@] A couple of Haddock markup fixes. [@1.1.0.0@] Reworked, simplified, and streamlined the internals of the library. Exports from "System.IO.Streams.Internal" relying on Sources and Sinks were deleted because they are no longer necessary: Source(..), Sink(..), defaultPushback, withDefaultPushback, nullSource, nullSink, singletonSource, simpleSource, sourceToStream, sinkToStream, generatorToSource, and consumerToSink. [@1.0.2.2@] Fixed a bug in which \"takeBytes 0\" was erroneously requesting input from the wrapped stream. [@1.0.2.1@] Fixed a compile error on GHC 7.0.x. [@1.0.2.0@] Added "System.IO.Streams.Process" (support for communicating with system processes using streams), added new functions to "System.IO.Streams.Handle" for converting @io-streams@ types to 'System.IO.Handle's. (Now you can pass streams from this library to places that expect Handles and everything will work.) [@1.0.1.0@] Added 'System.IO.Streams.Combinators.ignoreEof'. [@1.0.0.1@] Fixed some haddock markup.

v1.3.6.0 :: 0/1.3.6.0 :: gentoo

Modified
License
BSD
Keywords
amd64 x86
USE flags
doc hscolour profile test

General

doc
Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
hscolour
Include coloured haskell sources to generated documentation (dev-haskell/hscolour)
profile
Add support for software performance analysis (will likely vary from ebuild to ebuild)
test
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)

dev-haskell / attoparsec : Fast combinator parsing for bytestrings and text

dev-haskell / bytestring-builder : The new bytestring builder, packaged outside of GHC

dev-haskell / cabal : A framework for packaging Haskell software

dev-haskell / haddock : A documentation-generation tool for Haskell libraries

dev-haskell / hscolour : Colourise Haskell code

dev-haskell / hunit : A unit testing framework for Haskell

dev-haskell / mtl : Monad classes, using functional dependencies

dev-haskell / network : Low-level networking interface

dev-haskell / primitive : Primitive memory-related operations

dev-haskell / quickcheck : Automatic testing of Haskell programs

dev-haskell / test-framework : Framework for running and organising tests, with HUnit and QuickCheck support

dev-haskell / test-framework-hunit : HUnit support for the test-framework package

dev-haskell / test-framework-quickcheck2 : QuickCheck2 support for the test-framework package

dev-haskell / text : An efficient packed Unicode text type

dev-haskell / vector : Efficient Arrays

dev-haskell / zlib : Compression and decompression in the gzip and zlib formats

dev-haskell / zlib-bindings : Low-level bindings to the zlib package. (deprecated)

dev-lang / ghc : The Glasgow Haskell Compiler

dev-haskell / attoparsec : Fast combinator parsing for bytestrings and text

dev-haskell / bytestring-builder : The new bytestring builder, packaged outside of GHC

dev-haskell / network : Low-level networking interface

dev-haskell / primitive : Primitive memory-related operations

dev-haskell / text : An efficient packed Unicode text type

dev-haskell / vector : Efficient Arrays

dev-haskell / zlib-bindings : Low-level bindings to the zlib package. (deprecated)

dev-lang / ghc : The Glasgow Haskell Compiler

dev-haskell / http-streams : An HTTP client using io-streams

dev-haskell / io-streams-haproxy : HAProxy protocol 1.5 support for io-streams

dev-haskell / openssl-streams : OpenSSL network support for io-streams

dev-haskell / snap-core : Snap: A Haskell Web Framework (core interfaces and types)

dev-haskell / snap-server : A web server for the Snap Framework

Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
*/*: Inline mirror://hackage and update URIs
This change inlines mirror://hackage in all ebuilds, and updates URIs to the modern form (old URIs redirect to that). The change has been made using the following command: find -name '*.ebuild' -exec sed -r -i \ -e 's@mirror://hackage/@https://hackage.haskell.org/@g' \ -e 's@https://hackage.haskell.org/packages/archive/([^/]*)/([^/]*)/@https://hackage.haskell.org/package/\1-\2/@g' \ -e '/hackage\.haskell\.org/s@\$\{PN}-\$\{PV}@${P}@g' \ -e '/hackage\.haskell\.org/s@\$\{MY_PN}-\$\{PV}@${MY_P}@g' \ -e '/hackage\.haskell\.org/s@\$\{PN}-\$\{MY_PV}@${MY_P}@g' \ {} + Signed-off-by: Michał Górny <mgorny@gentoo.org>
Sergei Trofimovich · gentoo
dev-haskell/io-streams: stable 1.3.6.0 for x86/amd64, bug #631138
Package-Manager: Portage-2.3.10, Repoman-2.3.3 RepoMan-Options: --include-arches="amd64 x86"
Robin H. Johnson · gentoo
Drop $Id$ per council decision in bug #611234.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Sergei Trofimovich · gentoo
dev-haskell/io-streams: new package, a depend of snap-core-1
Simple, composable, and easy-to-use stream I/O Package-Manager: Portage-2.3.3, Repoman-2.3.1