例子
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 ()
)。给定这些元素,结果是一个可以使用外部存储器对任意大输入进行排序的程序。
许可证:麻省理工学院
作者:Luis Pedro Coelho(电子邮件:[email protected])(推特上:@luispedrocoelho)