Does anyone want intersperse for Data.Sequence?

David Feuer david.feuer at
Sat Dec 27 13:50:16 UTC 2014

Anyone else have an opinion? Bertram Felgenhauer pointed out to me
that a friendlier-looking expression is

intersperse x xs = drop 1 $ fromList xs <**> fromList [const x, id]

but this still may not be the most obvious thing. The main question, I
think, is whether anyone is likely to *use* an intersperse function
for sequences. If so, I think we should add it; if not, probably not.

On Mon, Dec 22, 2014 at 7:11 AM, Felipe Lessa <felipe.lessa at> wrote:
> On 22-12-2014 09:03, David Feuer wrote:
>> containers master now uses a new mechanism to implement <*> that can
>> also be used directly to implement an efficient intersperse function
>> corresponding to the one in Data.List. The real question is whether
>> anyone wants one. The potential for clashing names is obviously a
>> point against. The other is that the same asymptotic bounds (but
>> almost certainly worse constant factors) can be obtained using
>> intersperse x xs = drop 1 $ forwards $ Backwards (fromList [const x,
>> id]) <*> Backwards xs
> If the name clash is the only downside, I'm +1.  That intersperse
> definition isn't obvious :).
> Cheers,
> --
> Felipe.
> _______________________________________________
> Libraries mailing list
> Libraries at

More information about the Libraries mailing list