Exemple
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 )
Tout ce dont vous avez besoin est un décodeur ( ConduitT ByteString am ()
), un encodeur ( ConduitT ByteString am ()
) et une fonction pour diviser l'entrée en blocs ( ConduitT aam ()
). Compte tenu de ces éléments, le résultat est un programme capable de trier des entrées arbitrairement volumineuses en utilisant la mémoire externe.
Licence : MIT
Auteur : Luis Pedro Coelho (e-mail : [email protected]) (sur Twitter : @luispedrocoelho)