@hackage outsort0.1.0
External sorting package based on Conduit
Categories
License
MIT
Maintainer
Luis Pedro Coelho <luis@luispedro.org>
Links
- Documentation
- No source repository
- Changelog
- Security
Versions
- 0.1.0 Thu, 11 Jul 2019
Installation
Dependencies (0)
- MissingH
- async
- base >=4.7 && <5
- bytestring
- conduit
- conduit-algorithms Show all…
Dependents (0)
Outsort: generic (Haskell-based) external sorting
Example
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 (email: coelho@embl.de) (on twitter: @luispedrocoelho)