例
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 )
必要なのは、デコーダ ( ConduitT ByteString am ()
)、エンコーダ ( ConduitT ByteString am ()
)、および入力をブロックに分割する関数 ( ConduitT aam ()
) だけです。これらの要素を考慮すると、外部メモリを使用して任意の大きな入力をソートできるプログラムが作成されます。
ライセンス: MIT
著者: Luis Pedro Coelho (電子メール: [email protected]) (twitter: @luispedrocoelho)