how to define operators acting on functions



# Hi,
# I'm trying to define forward difference operator in maxima. Forward
difference op is defined such that: delta y(x) = y(x+h) - y(x)
# I wrote:
delta(y):=y(x+h)-y(x);
# This works fine for the first order. But when I tried to apply delta^2 to
any function, it gives an error:

(%i5) delta(delta(sin));
y evaluates to sin(x + h) - sin(x)
Improper name or value in functional position.
#0: delta(y=sin(x+h)-sin(x))
 -- an error.  To debug this try debugmode(true);

# Do you have any suggestions? Thanks in advance.
-ugur guney-