By closure I believe you mean a function that returns a function which binds
the
2nd argument of the function F.
For example:
function bound_phase_noise (spec::phase_noise_spec)
function B (f)
return compute_phase_noise_spec (spec, f)
end
end
But I don't know what you mean by the 2nd option below:
Stefan Karpinski wrote:
> The approaches that occur to me immediately are that you can either
> explicitly pass state or use a closure that closes over the state you need
> to update. Another option would be to represent your function as an object
> and use a generic function to apply that object to its argument.
>
>
> On Fri, Aug 15, 2014 at 2:20 PM, Neal Becker
> <[email protected]> wrote:
>
>> I'm trying to do numerical integration. I want a function that has state
>> information.
>>
>> Let's say I'm trying to integrate some function F over x. In addition, F
>> has
>> some state
>>
>> function F (x, state) = <do something with x and state>
>>
>> In python (and in c++), one way is to make F a class (which can have
>> state), and
>> overload the function call operator. Then this can be passed to the
>> numerical
>> integrator.
>>
>> But in julia, we can't overload the function call operator, so I don't
>> know how
>> to proceed. Essentially, what we need is to transform the function F by
>> binding
>> one of it's arguments.
>>
>> What would you suggest here?
>>
>>