Agreed. I like "select" better too, and the regular vs "Asc" version is a nice parallel with fromList and fromAscList.
Chad On 8/10/07, Tillmann Rendel <[EMAIL PROTECTED]> wrote: > Non-negative is obvious for a list of indexes. Ordered makes sense > implementation-wise, and should be easy to match for many applications. > But is it a sensible constraint on a standard library function? > > For Data.List, I would prefer a multi-pass select function like this: > > select :: Integral n => [n] -> [a] -> [a] > select ns xs = select' 0 ns xs where > select' k [] _ = [] > select' k (n:ns) [] = select' k ns [] > select' k nns@(n:ns) yys@(y:ys) = case k `compare` n of > LT -> select' (succ k) nns ys > EQ -> y : select' k ns yys > GT -> select nns xs > > *Main> select [0, 2, 2, 1] "abcde" > "accb" > > There could be selectAsc for the special case of ordered indexes, to > avoid keeping the whole input list in memory. > > Tillmann _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe