utility-ht-0.0.1: Various small helper functions for Lists, Maybes, Tuples, Functions




take :: [b] -> [a] -> [a]Source

Make a list as long as another one

drop :: [b] -> [a] -> [a]Source

Drop as many elements as the first list is long

splitAt :: [b] -> [a] -> ([a], [a])Source

replicate :: [a] -> b -> [b]Source

compareLength :: [a] -> [b] -> OrderingSource

Compare the length of two lists over different types. It is equivalent to (compare (length xs) (length ys)) but more efficient.

shorterList :: [a] -> [a] -> [a]Source

Returns the shorter one of two lists. It works also for infinite lists as much as possible. E.g. shortList (shorterList (repeat 1) (repeat 2)) [1,2,3] can be computed. The trick is, that the skeleton of the resulting list is constructed using zipWith without touching the elements. The contents is then computed (only) if requested.