Thanks. I figured something like this after doing some more tests.
Any ideas for approaching my original problem/question?
Best,
Jutho
On Saturday, June 7, 2014 1:02:23 PM UTC+2, Tim Holy wrote:
>
> Julia doesn't dispatch on abstract types; if there is more than one
> applicable
> version of a function available, but it can't determine the type(s) at
> compile-time, then it waits until execution for all types to be concrete
> before determining which variant of a function to call.
>
> So likewise, you should use `which` only with concrete types.
>
> --Tim
>
> On Friday, June 06, 2014 03:04:13 PM Jutho wrote:
> > I suddenly had the idea of using which in the following way
> > which(g,(typeof(x),))!=which(g,(AbstractSupertype,))
> >
> > to determine that g had a more specific implementation then the fallback
> > method defined for AbstractSupertype.
> >
> > Quickly testing how to use with I typed the following in the REPL and
> got a
> > confusing result.
> >
> > *julia> **which(issym,(Matrix,))*
> >
> > *issym(A::AbstractArray{T,2}) at linalg/generic.jl:251*
> >
> >
> > *julia> **which(issym,(AbstractMatrix,))*
> >
> > *issym(A::SparseMatrixCSC{Tv,Ti<:Integer}) at
> sparse/sparsematrix.jl:1739*
> >
> >
> > I would have thought that which(issym,(AbstractMatrix,)) would also
> point
> > to the first method. Is this a bug? Should I file an issue?
>