Why don't you hand execute it on an example, like cinits [1,2,3]? cinits [1,2,3] = cinits (1:2:3:[]) = [] : map (1:) (cinits (2:3:[]) = [] : map (1:) ([] : map (2:) (cinits (3:[])) = ...
On Tue, Apr 14, 2009 at 10:39 AM, Tsunkiet Man <[email protected]> wrote: > Hello, > > I can hardly imagine how the following code works: > > cinits :: [a] -> [[a]] > cinits [] = [[]] > cinits (x:xs) = [] : map (x:) (cinits xs) > > can someone give me a good explaination? > > (I understand it a bit, but it's really hard for me to figure out how a map > in a map function works.) > > Thank you for your time, > > Tsunkiet > _______________________________________________ > Haskell-Cafe mailing list > [email protected] > http://www.haskell.org/mailman/listinfo/haskell-cafe > > _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
