[Haskell-cafe] how to print out intermediate results in a
recursive function? qiqi789 at gmail.com Sat Feb 4 19:23:07 CET
2012 I have a question;how can I print out the intermediate
number lists in a mergesort recursive function like the
following one. merge  ys = ys merge xs  = xs merge (x:xs) (y:ys)
= if x <= y then x : merge xs (y:ys) else y : merge (x:xs) ys
mergesort  =  mergesort [x] = [x] mergesort xs = let (as, bs) =
splitAt (length xs `quot` 2) xs in merge (mergesort as)
(mergesort bs) main = do print $ mergesort [5,4,3,2,1] In the
main function, it only prints out the final number list. But I'd
like to print out the number lists in every recursive level. How
can I do that? Thanks. More information about the Haskell-Cafe