>>> take 1 (intersperse undefined ('a' : undefined)) "a"
>>> take 2 (intersperse ',' ('a' : undefined)) "a*** Exception: Prelude.undefined
>>> intersperse ',' "abcde" "a,b,c,d,e"
>>> intersperse 1 [3, 4, 5] [3,1,4,1,5]
intersperse 0 (1 :| [2,3]) == 1 :| [0,2,0,3]
>>> T.intersperse '.' "SHIELD" "S.H.I.E.L.D"Performs replacement on invalid scalar values.
unstream . intersperse c . stream = intersperse c
intersperse a empty = empty intersperse a (singleton x) = singleton x intersperse a (fromList [x,y]) = fromList [x,a,y] intersperse a (fromList [x,y,z]) = fromList [x,a,y,a,z]
>>> intersperse ',' "abcde" "a,b,c,d,e"intersperse has the following laziness properties:
>>> take 1 (intersperse undefined ('a' : undefined)) "a" >>> take 2 (intersperse ',' ('a' : undefined)) "a*** Exception: Prelude.undefined
ghci> import Control.Monad ((>=>)) ghci> is <- Streams.fromList ["nom", "nom", "nom"::ByteString] ghci> Streams.outputToList (Streams.intersperse "burp!" >=> Streams.connect is) ["nom","burp!","nom","burp!","nom"]
>>> S.print $ S.intersperse 0 $ each [1,2,3] 1 0 2 0 3
>>> intersperse ',' "abcde" "a,b,c,d,e"
>>> T.intersperse '.' "SHIELD" "S.H.I.E.L.D"Subject to fusion. Performs replacement on invalid scalar values.
> intersperse ',' "abcde" "a,b,c,d,e"
>>> intersperse '*' "_" "_"
>>> intersperse '*' "MASH" "M*A*S*H"
>>> Stream.toList $ Stream.intersperse ',' $ Stream.fromList "hello" "h,e,l,l,o"