code to treat differentiate as a first class higher order function #33
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I added a macro @define to store the code of a function when creating it, and another one @makeDerivative to create functions that are derivatives. It becomes possible to do:
julia> @define myFunction x cos(x*x)
(anonymous function)
julia> myDer = @makeDerivative myFunction x
(anonymous function)
julia> myDer(sqrt(pi))
-2.0083812473182306e-15
julia> myDer2 = @makeDerivative((x_x_sin(x)),x)
(anonymous function)
julia> myDer2(pi)
-9.869604401089358