Personal tools

Talk:Higher order function

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(Added an answer)
 
Line 6: Line 6:
 
----
 
----
   
quicksort :: Ord a => [a] -> [a]
+
quicksort :: Ord a => [a] -> [a]
quicksort [] = []
+
quicksort [] = []
quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater)
+
quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater)
where
+
where
lesser = filter (< p) xs
+
lesser = filter (< p) xs
greater = filter (>= p) xs
+
greater = filter (>= p) xs
   
 
----
 
----
Line 20: Line 20:
   
 
Thanks in advance
 
Thanks in advance
  +
  +
----
  +
  +
You can better ask this sort of questions via the [http://haskell.org/mailman/listinfo/beginners Haskell-beginners mailinglist] or [http://stackoverflow.com/ StackOverflow]; the talk pages are usually used for discussion of a wikipage.
  +
  +
There are tutorials listed at http://www.haskell.org/haskellwiki/Tutorials
  +
  +
Line no. 1 is correct, it describes the type of the function.
  +
  +
<hask>xs ++ ys</hask> concatenates the lists <hask>xs</hask> and <hask>ys</hask>
  +
  +
You can find a description of how this function works at http://learnyouahaskell.com/recursion ; the function at this pages looks different, but is actually the same.
  +
  +
  +
[[User:Henk-Jan van Tuyl|Henk-Jan van Tuyl]] 10:24, 10 November 2011 (UTC)

Latest revision as of 10:24, 10 November 2011

I'm a beginner in Haskell and needs help I need a resourse of haskell from scratch and also need someone to explain in details the quicksort that is published:



quicksort :: Ord a => [a] -> [a]
quicksort []     = []
quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater)
    where
        lesser  = filter (< p) xs
        greater = filter (>= p) xs


without line no 1, it works fine what about line three ? and how we use ++ as concatenate ???

Thanks in advance


You can better ask this sort of questions via the Haskell-beginners mailinglist or StackOverflow; the talk pages are usually used for discussion of a wikipage.

There are tutorials listed at http://www.haskell.org/haskellwiki/Tutorials

Line no. 1 is correct, it describes the type of the function.

xs ++ ys
concatenates the lists
xs
and
ys

You can find a description of how this function works at http://learnyouahaskell.com/recursion ; the function at this pages looks different, but is actually the same.


Henk-Jan van Tuyl 10:24, 10 November 2011 (UTC)