Proposal: adding 'tailDropWhile' to Data.List

Kazu Yamamoto ( 山本和彦 ) kazu at
Wed Sep 28 12:14:54 CEST 2011

> In my opinion, teaching students to do a large amount of "fiddling"
> with the ends of lists is getting them used to bad habits.  If you
> _really_ need to do a lot of stuff at the end of a list-like data
> structure, use a Seq or something.

My tutorial introduced trees and combinators also. ;-)

Also, I would point out that even "Real World Haskell" starts with a

> If you still want to use this to teach students (maybe because you're
> building them up to "but in general you shouldn't do this") then
> provide this function for their use elsewhere (either as something to
> copy/paste, or an auxiliary library for your class).  But I don't
> think it belongs in Data.List.

So, what about 'reverse'? 

Both 'reverse' and 'tailDropWhile' are inefficient.
Data.List has 'reverse'. Why not 'tailDropWhile'?


I don't think students who do not understand lists can understand


More information about the Libraries mailing list