module Main where

import Data.List

-- quicksort of any list
qsort []     = []
qsort (x:xs) = qsort(filter(<x) xs) ++ [x] ++ qsort(filter(>=x) xs)

-- optimized quicksort, uses middle element as pivot
qsortOpt [] = []
qsortOpt x  = qsortOpt less ++ [pivot] ++ qsortOpt greater
  where
    pivot = x !! ((length x) `div` 2)
    less = filter (<pivot) (delete pivot x)
    greater = filter (>=pivot) (delete pivot x)

main = do
  putStr "Enter a list: "
  l <- readLn
  print (qsortOpt l)
-- end of code

Why do I get

ERROR "qsort.hs":17 - Unresolved top-level overloading
*** Binding             : main
*** Outstanding context : (Read b, Show b, Ord b)

?

-- 
View this message in context: 
http://www.nabble.com/List-as-input-tp19987726p19987726.html
Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to