مثال
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 ()
). بالنظر إلى هذه العناصر، فإن النتيجة هي برنامج يمكنه فرز المدخلات الكبيرة بشكل تعسفي باستخدام الذاكرة الخارجية.
الترخيص: معهد ماساتشوستس للتكنولوجيا
المؤلف: لويس بيدرو كويلو (البريد الإلكتروني: [email protected]) (على تويتر: @luispedrocoelho)