The implementation of FastAnonymous for julia 0.4 is radically different from 
the implementation for julia 0.3---they are truly two different packages that 
happen to have the same name. The version for 0.4 gives you the ability to 
modify/own the parameters. That design is simply not possible with 0.3.

--Tim

On Monday, June 22, 2015 05:56:42 PM Andrew wrote:
> I think part of the reason I wanted to do this is because I used to code in
> Java, and in Java it's common to encapsulate variables and methods within
> an object, and then have the object's methods reference itself. I guess
> there's nothing stopping me from doing similar here, I could write
> something like
> 
> function u(UF::UtilityFunction,consump,labor)
>     sigmac = UF.sigmac
>     sigmal = UF.sigmal
>     psi = UF.psi
>     consump.^(1-sigmac)/(1-sigmac) + psi*(1-labor).^(1-sigmal)/(1-sigmal)
> end
> 
>  but this is sort of ugly, so I'd prefer to avoid explicitly passing any
> parameters, I also keep thinking that explicitly passing around parameters
> should slow things down, so I've been reluctant to do it, but I just tested
> it a bit. I haven't observed any performance loss. Perhaps I am conditioned
> by MATLAB to avoid these things since it uses pass-by-value, so I believe
> passing parameters makes copies there. Since Julia doesn't do this, there
> shouldn't be a performance hit.

Reply via email to