See if `isgeneric` helps (and you can check its implementation to see how it 
works).

Best,
--Tim

On Sunday, March 29, 2015 09:06:05 AM Sheehan Olver wrote:
> Hmm, this is surprising, how can you tell the difference between anonymous
> and named functions?
> 
> g=x->x^2
> foo(x,y)=1
> typeof(g)==typeof(foo)  #true
> 
> > On 29 Mar 2015, at 7:50 am, Sheehan Olver <[email protected]> wrote:
> >     Great, thanks! It looks like applicable doesn’t work on anonymous
> >     functions, which seems like a bug.  I guess I’ll file a ticket.>        
> >> On 29 Mar 2015, at 7:47 am, Miles Lubin <[email protected]
> >> <mailto:[email protected]>> wrote:
> >> 
> >> Take a look at applicable().
> >> 
> >> On Saturday, March 28, 2015 at 4:30:09 PM UTC-4, Sheehan Olver wrote:
> >> It currently works like this, which does work with f(x)=x, f(x,y) = x+y:
> >> 
> >> try
> >> 
> >>         f(0)
> >> 
> >> catch
> >> 
> >>         try
> >>         
> >>                 f(0,0)
> >>         
> >>         catch
> >>         
> >>                 f((0,0))
> >>         
> >>         end
> >> 
> >> end
> >> 
> >> This code is meant for REPL usage primarily, and so the convenience of
> >> typing just Fun(f) is worth having such “questionable” code.>> 
> >> > On 29 Mar 2015, at 6:29 am, Mauro <[email protected] <javascript:>> 
wrote:
> >> >> In ApproxFun, a user supplied function is approximated.  the
> >> >> approximation depends on whether the function is univariate or
> >> >> bivariate
> >> > 
> >> > How does it work, if the user defines several methods?
> >> > 
> >> > f(x) = x
> >> > f(x,y) = x+y
> >> > 
> >> >>> The method_exists function would probably be a slightly cleaner way
> >> >>> to do this.
> >> > 
> >> > method_exists should be good for generic functions but it does not work
> >> > with anonymous functions.  I think this gives you the number of
> >> > arguments:
> >> > 
> >> > length(Base.uncompressed_ast(( (x,y,z)->1 ).code.def).args[1])
> >> > 
> >> > something similar should let you figure out whether a one-argument
> >> > signature is a tuple.  Not sure though this is the preferred approach.

Reply via email to