Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as Plain Text by Jessica ( 16 years ago )
myMergeSort =
   mapReduce 
      id
  (mergeUntilDone)  
  sorted
  id
  (\_ xs -> xs)
 where sorted xs = and (zipWith (<=) xs (tail xs))
 


 
--mergeUntilDone 
mergeUntilDone [xs] = xs  -- Only one list left. We are done.
mergeUntilDone xss = mergeUntilDone (mergeListPairs xss)


--mergeListPairs
mergeListPairs xss | length xss <= 1 = xss
mergeListPairs (xs1:xs2:xss) = (merge xs1 xs2) : mergeListPairs xss

It doesnt compile 


SecondChanceMidterm.hs:39:2:
    Couldn't match expected type `Bool' against inferred type `[[t]]'
    In the second argument of `recursionEngine', namely
        `(mergeUntilDone)'
    In the expression:
        recursionEngine id (mergeUntilDone) sorted id (\ _ xs -> xs)
    In the definition of `myMergeSort':
        myMergeSort = recursionEngine
                        id (mergeUntilDone) sorted id (\ _ xs -> xs)
                    where
                        sorted xs = and (zipWith (<=) xs (tail xs))

 

Revise this Paste

Parent: 24447
Your Name: Code Language: