how to define the composition of functions



Hello,

I would like to know how one can define the composition of functions in maxima.
Say,
p( psi ) := diff( psi, x);
q( psi ) := x*psi;
How can I define a composition operator, say o ?
I would like to define the lie bracket on the space one-variable functions.
Thanks,
kursat