As far as I can tell, giac's function_diff() is pretty much the same as Maple's D(), which giac also supports.
Yet, function_diff([sin,cos,tan]) correctly gives
Code : Tout sélectionner
 (` x`)->{ 
  cos(` x`);  
  -(sin(` x`));  
  1+tan(` x`)^2;  
}Code : Tout sélectionner
D(['sin','cos','tan'])