zips and maps

Eric Allen Wohlstadter wohlstad@cs.ucdavis.edu
Thu, 8 Mar 2001 18:18:46 -0800 (PST)


I find myself very often needing to use this function and was wondering if
there was already a way to do this using zip,maps, and folds.

zipMap::[a->b]->[a]->[b]
zipMap [] _ = []
zipMap _ [] = []
zipMap (f:fs) (x:xs) = (f x):(zipMap fs xs)

Alternatively I can get the same affect like this:
fstOnSnd::(a->b,a)->b
fstOnSnd (f,x) = f x

zipMap::[a->b]->[a]->[b]
zipMap fs xs = map fstOnSnd (zip fs xs)

Both require me to invent some new function (or use a lambda) which I am
trying to avoid. If it is unavoidable then can someone think of a better
name then zipMap?

	Eric Wohlstadter
	UCDavis Software Engineering