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'])