Outsort:通用(基于Haskell)外部排序
例子
导入合格数据。管道。组合器作为CC导入合格数据。管道。二进制作为CB导入算法。OutSort(按大小隔离)导入算法。SortMain(SortMain)主::IO()main=排序mainCB.线路CC.unlinesAscii公司(按大小隔离(常数1)500000)
只需要一个解码器(导管T ByteString a m()
),编码器(导管T ByteString a m()
)和一个将输入拆分为块的函数(导管a a m()
). 考虑到这些因素,结果是一个可以使用外部存储器对任意大的输入进行排序。
许可证:麻省理工学院
作者:路易斯·佩德罗·科埃略(电子邮件:coelho@embl.de)(在推特上:@路易斯佩德罗科埃略)