dev-haskell / io-streams

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

Official package sites : https://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.read :: InputStream a -> IO (Maybe a) \-\- push an item back to an input stream Streams.unRead :: a -> InputStream a -> IO () \-\- write to an output stream Streams.write :: Maybe a -> 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.

v1.5.2.0 :: 0/1.5.2.0 :: gentoo

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

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)
network
Include network support
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)
zlib
Include zlib support

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 fast, iteratee-based, epoll-enabled web server for the Snap Framework

Repository mirror & CI · gentoo
Merge updates from master
Jack Todaro · gentoo
dev-haskell/io-streams: drop 1.5.1.0-r1
Package-Manager: Portage-3.0.5, Repoman-3.0.1 Signed-off-by: Jack Todaro <solpeth@posteo.org> Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Jack Todaro · gentoo
dev-haskell/io-streams: bump up to 1.5.2.0
Package-Manager: Portage-3.0.5, Repoman-3.0.1 Signed-off-by: Jack Todaro <solpeth@posteo.org> Closes: https://github.com/gentoo/gentoo/pull/17461 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Jack Todaro · gentoo
dev-haskell/io-streams: bump up to 1.5.1.0
Bug: https://bugs.gentoo.org/735152 Package-Manager: Portage-3.0.1, Repoman-2.3.23 Signed-off-by: Jack Todaro <solpeth@posteo.org> Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Jakov Smolic · gentoo
dev-haskell/io-streams: update homepage link
Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Jakov Smolic <jakov.smolic@sartura.hr> Signed-off-by: Aaron Bauman <bman@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Sergei Trofimovich · gentoo
*/*: destabilize dev-lang/ghc for all arches
dev-lang/ghc is a fast-moving target without much of stable API across major GHC releases. This makes stabilization process a fragile process. The change moves all haskell revdeps to pure ~arch. There are not many outside dev-haskell/*: - app-emulation/ganeti - app-text/pandoc - dev-util/bustle - dev-util/shellcheck - dev-vcs/darcs - x11-wm/xmonad/xmonad Existing stable haskell users are recommended to keyword used packages and all of dev-haskell/* to ease upgrades. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
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