
leledumbo wrote:
module Main where
import Data.List
-- quicksort of any list qsort [] = [] qsort (x:xs) = 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) 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)
The compiler doesn't know what kind of list you are trying to read, sort, and print. Try something like: (l::[Int]) <- readLn in the penultimate line. -- Dr. Janis Voigtlaender http://wwwtcs.inf.tu-dresden.de/~voigt/ mailto:voigt@tcs.inf.tu-dresden.de