external sort on hackage Re: [Haskell-cafe] External Sort and unsafeInterleaveIO

Thomas Hartman tphyahoo at gmail.com
Sun Oct 19 10:42:50 EDT 2008

External sort is on hackage at


Ben, I forgot to correct your name, but I will fix it soon.


2008/10/11 Ben <midfield at gmail.com>:
> Fine with me, except my last name is "Lee" not "Midfield."  Thanks for
> doing this.
> Ben "Midfield" Lee
> On Sat, Oct 11, 2008 at 7:52 AM, Thomas Hartman <tphyahoo at gmail.com> wrote:
>> I kinda-sorta half-cabalized it at
>> darcs get http://darcsdump.dreamhosters.com/external-sort (untested
>> via cabal install but mostly done)
>> As soon as my project gets approved I'll put it up on hackage.
>> If Ben wants it under his account at hackage of course I'll defer to him.
>> Thomas.
>> 2007/7/18 Donald Bruce Stewart <dons at cse.unsw.edu.au>:
>>> midfield:
>>>> hi --
>>>> thanks for the useful comments!  i will definitely go through them
>>>> carefully.  unfortunately for this code (but fortunately for me) i
>>>> defend my dissertation on monday so i'm a little distracted right
>>>> now.....
>>>> i'm more than happy to donate this code or whatever improvements
>>>> happen to it.  actually, hGetContentsWithCursor seems like a candidate
>>>> for inclusion with Data.ByteStrings or Data.Binary or something -- it
>>>> seems like it might find other uses.  (i think you liked that bit of
>>>> code because i ripped it off of you guys!  it's very short hamming
>>> Can't fault that style ;)
>>>> distance from the original.)  anyhow, all that will have to wait a
>>>> couple weeks or so.  also i've never cabalized anything so i may come
>>>> begging for help.
>>> We have a tutorial for that, luckily:
>>>    http://haskell.org/haskellwiki/How_to_write_a_Haskell_program
>>> And a tool to automate it, mkcabal, so should be fairly straightforward.
>>>> at some point i thought i saw how to do recursive external sort, to
>>>> keep memory usage truly constant, but with my current lack of sleep i
>>>> have lost that illusion.  i'm also curious about the performance
>>>> characteristics of this vs Prelude sort vs the version using the
>>>> tournament mergesort apfelmus suggested.  i need to find a computer
>>>> with a lot more RAM than my weakling laptop.  finally, it would be
>>>> good to be able to have the blocksize controlled by Kb of RAM rather
>>>> than # of elements, not sure how to get that information.
>>>> ultimately this was part of my project to write lucene for haskell.  i
>>>> think with this out of the way, plus all the Data.Binary / ByteString
>>>> goodness, it shouldn't take too long.  keep writing good libraries for
>>>> me!
>>> Great. Good to see things working.
>>> -- Don
>>> _______________________________________________
>>> Haskell-Cafe mailing list
>>> Haskell-Cafe at haskell.org
>>> http://www.haskell.org/mailman/listinfo/haskell-cafe

More information about the Haskell-Cafe mailing list