[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index][Thread Index][Top&Search][Original]
Re: inherted overload & mixed type operations
Marc Lehmann writes:
> pdl(5)+pdl(3)*i is evaluated according to the PDL-multiplication,
> presumably because perl always uses the type of the first (lefthand)
> operator.
>
> In that case, it would make sense to always use PDL::Complex's
> multiplication, on the assumption that a subclass always knows better.
>
> So my question I want to propose is two-fold
>
> a) would it be (computationally) feasible to detect this case and use
> the subclass operator always?
Yes. PDL overloaded multiplication can (and should) do it.
> b) would it make sense except for obvious cases like complex and real-valued
> types?
Polymorphism by two arguments is always a tricky topic.
> BTW, "use overload" automatically inherits all the ops from its
> superclass, which is not always a good thing: I do not want to
> inherit >=, > etc.. but instead want to perl to synthesize it from my
> <=>-operator. Unfortunately, doing ">" => undef does not do that.
This is an interesting topic... Specify 'fallback'-per-optype?
Ilya
- Follow-Ups from:
-
Marc Lehmann <marc@gimp.org>
- References to:
-
Marc Lehmann <marc@gimp.org>
[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index][Thread Index][Top&Search][Original]