On Thursday, 31 August 2017 at 16:55:17 UTC, Jean-Louis Leroy
wrote:
Indeed I misunderstood.
Well, I am very pleased that my stuff interacts well with the
rest of the language - I strive for that. However, I found that
it is difficult to get people to open their mind to the idea of
open methods, initially. Unless they come from Lisp,
polymorphism and membership are almost indissociable for them.
I often have to jump three hurdles.
I can see that it's a uphill battle, but there's a lot to like
about it as well for those who listen.
Maybe it would be a good idea to allow the @method to take an
argument, like @method(Animal), then you could mixin
string kick(virtual!Animal);
without having to define kick.
I think the ideal would be if you could just write something like
below:
@string(Animal)
string kick(virtual!Dog dog) { return "bark"; }
but I don't really know how to get that to work.