Ticket #1432 (closed RFC: wontfix)
Remove 2-argument math ops
Reported by: | whiteknight | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | core | Version: | 2.0.0 |
Severity: | medium | Keywords: | |
Cc: | Language: | ||
Patch status: | Platform: |
Description
I would like to propose a removal of the various 2-argument math ops. These are the "in place ops", where:
foo a, b
performs this operation:
a = a foo b
And for many, corresponds to the symbolic operator:
a foo= b
To my knowledge, all two-argument ops can be more easily rewritten in terms of three-argument ops. In fact, most 2-argument ops are already implemented like this internally.
a = foo a, b
These 2-argument forms don't provide any real benefit because they perform the same operations internally as the 3-argument variants, plus they add significant bulk to the in-memory list of ops and create a maintenance burden when they need to be updated. The only benefit that I can see is a small amount of programmer convenience for people who want to use them but don't want to use the "op=" symbolic ops (which can easily be remapped to the 3-argument forms inside IMCC).
I would like to put in a deprecation notice for these ops and remove them at the earliest possible point.