differential operator



Hello,

I'm currently thinking of switching from Maple to Maxima in my research work. Unfortunately, I 
encountered the following problem. I often deal with functions in general form, e.g., u(x), 
u(2*x), f(g(t)), etc. What I need is to obtain their derivatives:
diff(u(x), x) = u'(x),
diff(u(2*x), x) = 2*u'(2*x),
diff(f(g(t)), t) = f'(g(t))*g'(t)*t,
and so on.
But apparently Maxima doesn't have a proper way to display this. More specific, it doesn't have 
operator form of differentiation. In Maple it is "D" operator: if you have a function of one 
argument named f, then D(f) denotes its derivative, regardless of what argument you supply to 
it. In Maxima you cannot denote the derivative of a function without explicitly specifying its 
arguments, and that is the reason why, for example, it cannot apply chain rule to 
differentiating f(g(t)).

Is there any way to handle this problem? Is it possible to write a function that will act as a 
differential operator?