Most multimethod systems seem to have a way to call the next-most-general 
method of a function, but I'm not seeing a good way to do that in Julia. 
 This is complicated by the fact that my sense of what's idiomatically 
clean in Julia isn't very well honed yet.  If Julia had CLOS's 
call-next-method I could get the results I'm looking for by writing 
something like:
abstract Fu

function bar(f::Fu)
  print("Bar\n")
end

type Foo <: Fu
end

function bar(f::Foo)
  print("Oooo...\n")
  call-next-method()  #  <-- CLOS, not Julia
end

bar(Foo())

....(which I would expect to emit "Oooo...Bar\n").  Similar results can be 
obtained in other languages with "super", "inherited", etc. or by casting 
the appropriate argument to the (in Julia, abstract) parent type.

My question: what's the "right" way to do this in Julia?

-- MarkusQ

P.S. An around-method analogue would work too, though it doesn't feel as 
semantically appropriate.

Reply via email to