== Working with lists == Note that some of these functions work also for other data structures than lists.
!
+
foldl
foldl1
map f l        = [f x | x <- l]
filter p l     = [x | x <- l, p x]
sum l          = [y | x <- l, y <- x]
join l         = sum l
concatMap f l  = [y | x <- l, y <- f x]
zip l m        = [(x,y) | x <- l | y <- m]
zipWith f l m  = [f x y | x <- l | y <- m]