From 5023fe4fe7dbebe5f5f94116d1d55b05908c35ea Mon Sep 17 00:00:00 2001 From: Josef Svenningsson Date: Thu, 2 Nov 2006 12:20:52 +0000 Subject: [PATCH] Add intercalate to Data.List (ticket #971) --- Data/List.hs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Data/List.hs b/Data/List.hs index 7c3cede..b006b29 100644 --- a/Data/List.hs +++ b/Data/List.hs @@ -35,6 +35,7 @@ module Data.List , reverse -- :: [a] -> [a] , intersperse -- :: a -> [a] -> [a] + , intercalate -- :: [a] -> [[a]] -> [a] , transpose -- :: [[a]] -> [[a]] -- * Reducing lists (folds) @@ -396,6 +397,12 @@ intersperse _ [] = [] intersperse _ [x] = [x] intersperse sep (x:xs) = x : sep : intersperse sep xs +-- | 'intercalate' @xs xss@ is equivalent to @('concat' ('intersperse' xs xss))@. +-- It inserts the list @xs@ in between the lists in @xss@ and concatenates the +-- result. +intercalate :: [a] -> [[a]] -> [a] +intercalate xs xss = concat (intersperse xs xss) + -- | The 'transpose' function transposes the rows and columns of its argument. -- For example, -- -- 1.7.10.4