[Haskell-beginners] Use of (n + 1) as parameter - is it more efficient?
Angus Comber
anguscomber at gmail.com
Fri Dec 20 18:00:08 UTC 2013
I created my own drop' function like this:
drop' :: Int -> [a] -> [a]
drop' 0 xs = xs
drop' n [] = []
drop' n (x:xs) = drop' (n - 1) xs
But in the Haskell book I am reading it is written like this:
drop' :: Int -> [a] -> [a]
drop' 0 xs = xs
drop' (n + 1) [] = []
drop' (n + 1) (x:xs) = drop' n xs
My version seems to work but I am concerned about my third line (drop' n []
= []). Is that a problem?
Why does this author use n + 1 as a parameter as opposed to n - 1 like I do
in body?
Or does it make no difference?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20131220/42e8d804/attachment.html>
More information about the Beginners
mailing list