inits
Aaron Denney
wnoise at ofb.net
Sat Apr 8 14:22:08 EDT 2006
On 2006-04-08, Nils Anders Danielsson <nad at cs.chalmers.se> wrote:
> On Fri, 07 Apr 2006, "Spencer Janssen" <spencerjanssen at gmail.com> wrote:
>
>>> inits xs = [] : (zipWith take [1..] $ map (const xs) xs)
>
>> As this version performs much better and will work as a drop in
>> replacement, I suggest that it be included in the hierarchical
>> libraries.
>
> It is not a drop in replacement. The original inits is strict, this
> one isn't.
>
> The specification of inits (from the Haskell 98 report):
>
> inits :: [a] -> [[a]]
> inits [] = [[]]
> inits (x:xs) = [[]] ++ map (x:) (inits xs)
Is that a property many programs depend on? I'd actually call that a
bug of the original.
--
Aaron Denney
-><-
More information about the Libraries
mailing list