>>> drop 6 "Hello World!" "World!" >>> drop 3 [1,2,3,4,5] [4,5] >>> drop 3 [1,2] [] >>> drop 3 [] [] >>> drop (-1) [1,2] [1,2] >>> drop 0 [1,2] [1,2]It is an instance of the more general genericDrop, in which n may be of any integral type.
drop n = fromDistinctAscList . drop n . toAscList
drop n = fromDistinctAscList . drop n . toAscList
>>> runConduit $ yieldMany [1..5] .| drop 2 .| sinkList [] >>> runConduit $ yieldMany [1..5] .| (drop 2 >> sinkList) [3,4,5]
drop i = take i >> return ()However, drop is more efficient as it does not need to hold values in memory. Subject to fusion Since 0.3.0
drop 0 = cat drop (m + n) = drop m >-> drop n
fold (drop n folder) list = fold folder (Data.List.genericDrop n list)
>>> Foldl.fold (Foldl.drop 3 Foldl.sum) [10, 20, 30, 1, 2, 3] 6
>>> Foldl.fold (Foldl.drop 10 Foldl.sum) [10, 20, 30, 1, 2, 3] 0