pure function puzzle
- To: mathgroup at yoda.physics.unc.edu
 - Subject: pure function puzzle
 - From: wmm at chem.wayne.edu (Martin McClain)
 - Date: Fri, 9 Jul 93 17:37:23 EDT
 
Dear MathGroupers:
I need a pure function that operates on 
        {x,{a,b,c}}, 
where x, a, b, and c are all simple lists.  The output must be 
        {Ints[x,a],Ints[x,b],Ints[x,c]}, 
where Ints means Intersection.  You would think this could be based on
Thread, but when a,b,c,and x are all lists, Thread seems to get confused. 
Map also has a problem: it needs a function as its argument, and apparently
nested pure functions are not allowed.  I can do the required
transformation with a compound statement
f1 = Intersection[x,#]&;
f2 = Map[f1,#]&
and then apply f2 to my input, but x is not known ahead of time.  I want
this function as one step in a long Composition, and I really need a clean,
single function of a single argument, producing a single object. Maybe some
clever use of Hold, or Evaluate, or something like that ???  Any ideas?