outsort-0.1.0: README.md
# 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))