You might also want to express your perspective on why a function such as
invoke is needed here https://github.com/JuliaLang/julia/pull/13123.
On Tuesday, June 28, 2016 at 5:26:16 PM UTC+2, Bill Hart wrote:
>
> We have hit an issue that we can't seem to find a workaround for. Our only
> working
There is some discussion on invoke on github:
https://github.com/JuliaLang/julia/pull/13123
maybe you want to weight in.
On Tue, 2016-06-28 at 19:19, 'Bill Hart' via julia-users
wrote:
> You are a life saver. This is *precisely* what we need. Thank you for
>
You are a life saver. This is *precisely* what we need. Thank you for
solving a very difficult problem for us. We were really pulling our hair
out after searching for a solution.
julia> module Nemo
import Base: det
abstract MatElem
function det(a::MatElem)
Another possibility: introduce a special "extends" syntax to Julia, e.g.
module Hecke
type SpecialMat <: Nemo.MatElem
end
function det(a::SpecialMat)
if blah
# do whatever
else
Nemo.det
end
end
extends det Nemo.det # tells Julia to somehow treat the det implementation
By the way, here are some potential things that could solve this for us:
1) Allow individual methods to be callable, as in Julia 0.4 (so long as we
can look the methods up at "compile time" in a module and assign them to a
const in the module so that they can be called). As far as we can see,