The ##9215 is just a name (a gensym(), see the Metaprogramming section of the manual) for a "hidden type" that gets created.
Unfortunately, currently there isn't a good alternative to modifying the call syntax of the function in Optim. You could open an issue over there to discuss it. (Of course, you can always make such changes on your own machine without asking for permission :-). ) --Tim On Monday, February 16, 2015 07:21:45 PM Yakir Gagnon wrote: > Tried to make the title as explanatory as possible... > > Say I have an anonymous function and I @anonize it with FastAnonymous. I > then want to pass that anonized function to another function from *some > other module*. That other function is expecting a Function type as one of > its arguments, not the ##integer type from FastAnonymous. > Even if I declare that other module's function as: > > function myfunction{f}(::Type{f}, args...) > # Do stuff using f just like an ordinary functionend > > f's type is still ##9215 (or something) and I can't really pass it to the > original myfunction without rewriting myfunction, which really isn't *my > function* but comes from another module. > > I must have misunderstood something. > > Thanks in advance! > > P.S. > I'm trying to anonize a function that I want to pass to optimize (with > Optim.jl).