On Fri, Mar 08, 2002, Ketil Z. Malde wrote: > I don't think it's either functional nor imperative by itself. The > question is how you structure it, do you say something like > > buffer x > list y > > x = readFile ... > y = parse x > quickSort y > print y > > (which would be imperative), or do you say something like > > print (quickSort (parse (readFile ...)))
Unfortunately, this is wrong. You'd have to do something more like readFile ... >>= print . sort . parse > which would be functional. Note that the only really imperative part > is the sorting, which actually changes the content of y for the > following part of the program. A functional implementation wouldn't > destroy y, but create a new list with the elements from y in sorted > order. yah. > > I'm not sure if that made things clearer :-) > > (If you really want to implement it, look at the Prelude for some > help, some of the things you wish to do is pretty standard fare. > And sorting is perhaps made easier if you rearrange the list of dates > a bit?) Sorting is probably easiest if you use the standard sort function. I'm still kind of interested in whether anyone has done work on which purely-functional sorts are efficient, and particularly which ones are efficient in GHC. David Feuer _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe