Here's a function that tries to take a function as argument, and return a function as a value. However, when I try to apply the return value, it seems to stay unevaluated:
f(F) := lambda([c], F(c));
g(t) := t*t;
blah: f(g);
blah(y);
results in:
F(y)
F
is the name of an argument of f
, how is it visible outside of the definition of f
?
I'd like
diff(blah(y), y):
to return 2*y
, but now it's just returning d/dy F(y)
.