Tue, 18 Jan 2000 18:45:52 +0300 (MSK), S.D.Mechveliani <[EMAIL PROTECTED]> pisze:
> But "filter-filter" implementation needs a constant space for
>
> head $ fst $ partition (==1) [0..n].
>
> And some recent implementations take heap+stack proportional to n.
partition _ [] = ([], [])
partition p (x:xs) = if p x then (x:ys, zs) else (ys, x:zs)
where (ys, zs) = partition p xs
runs your example in constant space.
--
__("< Marcin Kowalczyk * [EMAIL PROTECTED] http://qrczak.ids.net.pl/
\__/ GCS/M d- s+:-- a22 C+++$ UL++>++++$ P+++ L++>++++$ E-
^^ W++ N+++ o? K? w(---) O? M- V? PS-- PE++ Y? PGP+ t
QRCZAK 5? X- R tv-- b+>++ DI D- G+ e>++++ h! r--%>++ y-