On Sat, Jan 10, 2015 at 11:02 PM, Moritz Lenz <mor...@faui2k3.org> wrote:

> To elaborate a bit on the previous answer:
>
> On 10.01.2015 17:12, Tobias Leich wrote:
>
>> In case we would know that certain methods had no side effects (and are
>> not called because of their side effects), ...
>>
>> But at the moment we don't know and therefore we can't warn for every
>> method.
>>
>
> there are two possible choices for warnings: run time and compile time.
>
> Run-time warnings suffer from run-time overhead, and I think this would be
> unacceptable here.
>
> Compile-time warnings can't work here, because at compile time we don't
> know what method we'll dispatch to eventually. Note that subroutine calls
> already have such warnings (in some cases):
>
> $ perl6-m -e 'sqrt(4); say "done"'
> WARNINGS:
> Useless use of "sqrt(4)" in expression "sqrt(4)" in sink context (line 1)
> done
>
>
Oh right. Multiple dispatch. I see.

anyway, IMHO the run-time overhead would be probably ok if it was optional.
Like a development mode.
It would certainly be faster than people, especially beginners like me,
wasting their time not understanding
why the method does not have an impact on that object.

Gabor

Reply via email to