homepage: ''
changelog-type: text
hash: ea326ed9d0acd4ae58658c6feca1e4a41613eecc8a1064808f4fc4a5c936c88f
test-bench-deps: {}
maintainer: Luis Pedro Coelho <luis@luispedro.org>
synopsis: External sorting package based on Conduit
changelog: "Version 0.0.1.1 2019-07-11 by luispedro\n\t* First release\n"
basic-deps:
  MissingH: -any
  conduit-combinators: -any
  exceptions: -any
  conduit-algorithms: -any
  bytestring: -any
  safeio: -any
  filemanip: -any
  base: ! '>=4.7 && <5'
  text: -any
  filepath: -any
  async: -any
  conduit: -any
  conduit-extra: -any
  containers: -any
  transformers-base: -any
  vector-algorithms: -any
  transformers: -any
  temporary: -any
  deepseq: -any
  resourcet: -any
  primitive: -any
  safe: -any
  vector: -any
  directory: -any
all-versions:
- 0.1.0
author: ''
latest: 0.1.0
description-type: markdown
description: |+
  # Outsort: generic (Haskell-based) external sorting


  Example

  ```haskell
      import qualified Data.Conduit.Combinators as CC
      import qualified Data.Conduit.Binary as CB

      import Algorithms.OutSort (isolateBySize)
      import Algorithms.SortMain (sortMain)

      main :: IO ()
      main = sortMain
          CB.lines
          CC.unlinesAscii
          (isolateBySize (const 1) 500000)
  ```

  All that is needed is a decoder (`ConduitT ByteString a m ()`), an encoder
  (`ConduitT ByteString a m ()`), and a function to split the input into blocks
  (`ConduitT a a m ()`). Given these elements, the result is a programme which can
  sort arbitrarily large inputs using external memory.

  Licence: MIT

  Author: [Luis Pedro Coelho](http://luispedro.org) (email:
  [coelho@embl.de](mailto:coelho@embl.de)) (on twitter:
  [@luispedrocoelho](https://twitter.com/luispedrocoelho))

license-name: MIT

Update from Hackage at 2019-07-11T06:42:56Z
Update from Hackage at 2019-07-11T06:42:56Z
