dot[f_,g_]:=(Integrate[f[t]*g[t],{t,0,#1}])&;
norm[f_]:=(Sqrt[dot[f,f][#1]])&;
proj[f_,g_]:= (dot[f,g][#1]*g[#1]/dot[f,f][#1])&;
reject[f_,g_]:= (f- proj[f,g][#1])&;

R[f_,g_]:=
Function[{theta},
Function[{func},
Module[
{ff,gg},
ff=f/norm[f];
gg=g/norm[g];
(reject[reject[func,f],g][#1] + Cos[theta]*proj[func,f][#1] + Sin[theta]*proj[func,g][#1])&
]
]
]

R[Function[x,Exp[x]],Function[x,x*x]][0][Function[x,x*x]][3]

(Function[x,x+2]+Function[x,x+2])[1]