split is:package

Combinator library for splitting lists. A collection of various methods for splitting lists into parts, akin to the "split" function found in several mainstream languages. Here is its tale: Once upon a time the standard Data.List module held no function for splitting a list into parts according to a delimiter. Many a brave lambda-knight strove to add such a function, but their striving was in vain, for Lo, the Supreme Council fell to bickering amongst themselves what was to be the essential nature of the One True Function which could cleave a list in twain (or thrain, or any required number of parts). And thus came to pass the split package, comprising divers functions for splitting a list asunder, each according to its nature. And the Supreme Council had no longer any grounds for argument, for the favored method of each was contained therein. To get started, see the Data.List.Split module.
Fast Splittable PRNG Pure Haskell implementation of SplitMix described in Guy L. Steele, Jr., Doug Lea, and Christine H. Flood. 2014. Fast splittable pseudorandom number generators. In Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications (OOPSLA '14). ACM, New York, NY, USA, 453-472. DOI: https://doi.org/10.1145/2660193.2660195 The paper describes a new algorithm SplitMix for splittable pseudorandom number generator that is quite fast: 9 64 bit arithmetic/logical operations per 64 bits generated. SplitMix is tested with two standard statistical test suites (DieHarder and TestU01, this implementation only using the former) and it appears to be adequate for "everyday" use, such as Monte Carlo algorithms and randomized data structures where speed is important. In particular, it should not be used for cryptographic or security applications, because generated sequences of pseudorandom values are too predictable (the mixing functions are easily inverted, and two successive outputs suffice to reconstruct the internal state).
Random samplers for some common distributions, based on splitmix. Random samplers for some common distributions, as well as a convenient interface for composing them, based on splitmix. Please see the README on GitHub at https://github.com/ocramz/splitmix-distributions#readme
Not on Stackage, so not searched. Control.Concurrent.Chan split into sending and receiving halves.
Not on Stackage, so not searched. Split Epimorphisms and Monomorphisms
Executable only. Split a big audio file into pieces at positions of silence
Not on Stackage, so not searched. STM's TChan split into sending and receiving halves.
Not on Stackage, so not searched. Use numerical ranges to split out certain lines from a file.
MVars and Channels with distinguished input and output side MVars and Channels with distinguished input and output side. When threads communicate via an MVar or a Chan there are often clearly defined roles, which thread is the sender and which one is receiver. We provide wrappers around the standard concurrency communication channels that make the distinction clear and type safe. For example, if a function has a parameter of type TChan.In then it is sure that it will only write to that channel. Additionally if the compiler warns about an unused TChan.Out that was created by TChan.new then you know that the receiver part of your communication is missing. This package requires only Haskell 98. Related packages:
  • stm-split: transactional communication in STM monad
  • chan-split: follows the same idea as this package and stm-split but requires multi-parameter type classes with functional dependencies.
  • privileged-concurrency:
  • split-channel:
Not on Stackage, so not searched. A library to provide special kind of two-column output for Phladiprelio.
Combinator library for splitting vectors. This package aims to be a vector-based drop-in replacement for the list-based split package. For more information see the haddocs or checkout the source on github.
Not on Stackage, so not searched. Partition the sequence of items to the subsequences in the order given
Not on Stackage, so not searched. Split a lazy bytestring at boundaries defined by an attoparsec parser
Not on Stackage, so not searched. Concurrent Chans as read/write pairs. Also provides generic Chan pair class.
Not on Stackage, so not searched. Haskell source splitter driven by special comments.
Not on Stackage, so not searched. split two-column PDFs, so there is one column per page
TMVars, TVars and TChans with distinguished input and output side Transactional MVars, Vars and Channels with distinguished input and output side. When threads communicate via a TMVar, a TVar or a TChan there are often clearly defined roles, which thread is the sender and which one is receiver. We provide wrappers around the standard concurrency communication channels that make the distinction clear and type safe. For example, if a function has a parameter of type TChan.In then it is sure that it will only write to that channel. Additionally if the compiler warns about an unused TChan.Out that was created by TChan.new then you know that the receiver part of your communication is missing. See also package concurrent-split for non-transactional communication. This package follows the same idea as chan-split but is strictly Haskell 98.
Not on Stackage, so not searched. Case splitting plugin