# The sousit package

[ Tags: bsd3, control, library ] [ Propose Tags ]

Haskell library for Sources, Sinks and Transformers. The data is pushed from the source through the transfomers into the sink. The sink or a transfomer can decide at any time to end the transfer (see Iteratees). The transformers are very reusable since they can not depend on side effects, so they can be used with files as well as with simple lists.

Allows you to build pipelines such as:

>>> listSource [1..10] $$T.map(+1) == T.buffer 3 0 (+) = listSink [9,18,27,11]  its possible to mix various type of sources and sinks, such as in: >>> fileSourceLine \"myfile.txt\"$$ T.drop 1 =$= T.map (++ "!") =$ listSink
[\"Hello Mario!\", \"How're you doing?!\"]


For more documentation see https://github.com/msiegenthaler/SouSiT.

## Properties

Versions 0.3, 0.4 base (>4 && <5), bytestring, cereal, mtl, resourcet, stm, transformers [details] BSD3 (c) 2012 Mario Siegenthaler Mario Siegenthaler msiegenthaler@inventsoft.ch Control https://github.com/msiegenthaler/SouSiT head: git clone git://github.com/msiegenthaler/SouSiT.git Sat Sep 15 20:40:18 UTC 2012 by MarioSiegenthaler NixOS:0.4 796 total (11 in the last 30 days) (no votes yet) [estimated by rule of succession] λ λ λ Docs uploaded by userBuild status unknown Hackage Matrix CI

#### Maintainer's Corner

For package maintainers and hackage trustees

[back to package description]

# SouSiT

Haskell library for Sources, Sinks and Transformers. The data is pushed from the source through the transfomers into the sink. The sink or a transfomer can decide at any time to end the transfer (see Iteratees). The transformers are very reusable since they can not depend on side effects, so they can be used with files as well as with simple lists.

Allows you to build pipelines such as:

ghci> listSource [1..10] $$T.map(+1) == T.buffer 3 0 (+) = listSink [9,18,27,11]  its possible to mix various type of sources and sinks, such as in: ghci> fileSourceLine "myfile.txt"$$ T.drop 1 =$= T.map (++ "!") =$ listSink
["Hello Mario!", "How're you doing?!"]


## Available Sources

• List
• Handle (IO)
• File

More types of sources can be added by users of the library. Consider using actionSource or bracketActionSource as a help if you do so.

## Available Sinks

• List
• Handle (IO)
• File

More types of sinks can be added by users of the library. Consider using either actionSink or the monadic sink interface if implementing your own sinks.

mySink = do v1 <- input
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 1, "mathjax_display_tex": 1, "mathjax_asciimath": 1, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 0, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0, "math_score": 0.21791641414165497, "perplexity": 13440.975757706206}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "plain"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "warc_path": "s3://commoncrawl/crawl-data/CC-MAIN-2018-09/segments/1518891811655.65/warc/CC-MAIN-20180218042652-20180218062652-00604.warc.gz"}