Shortcomings of D-Style Fused Operator Overloading

Timon Gehr timon.gehr at gmx.ch
Fri Jul 7 17:15:45 UTC 2023


On 7/7/23 17:49, Ahmet Sait wrote:
> Seems like the only definition that's useful for implementing VRP.

VRP is a kind of abstract interpretation, and the natural definition for 
that is the perfect transformer:

`I op I' = { I op I' | x∈I, x'∈I' }`

I.e., I'd say it is more useful to have three-valued logic operating on 
`{false}`, `{true}` and `{false,true}`.

Alternatively,

`I <=> I' = { I <=> I' | x∈I, x'∈I' }`

producing a non-empty subset of `{-1,0,1}`.

In any case, implementing abstract interpretation as operations on 
independent abstract elements in the first place is not particularly 
natural and only works in very special cases such as the interval domain.


More information about the Digitalmars-d mailing list