[Haskell-cafe] Dropping trailing nulls from a list of list
u.stenzel at web.de
Wed Mar 8 14:07:24 EST 2006
Jeff.Harper at handheld.com wrote:
> Today, I reviewed a function I wrote a few months ago. The function,
> dropTrailNulls, takes a list of lists and drops trailing null lists. For
> *Main> dropTrailNulls [,[2,3],,]
dropTrailNulls = foldr dtn 
dtn   = 
dtn x xs = x:xs
> dropTrailNulls list = reverse (dropWhile null (reverse list))
As the other responses said, this is needlessly strict. Work on
deforesting reverse exists, but you can't count on it happenig.
> is there a more efficient idiom for addressing these problems?
Well, there's always the basic fold. I'm not sure there's any lesson to
be learnt here other than "fold is your friend".
F: Was ist ansteckend und kommutiert?
A: Eine Abelsche Grippe.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: Digital signature
Url : http://www.haskell.org//pipermail/haskell-cafe/attachments/20060308/5802fb34/attachment.bin
More information about the Haskell-Cafe