On Tuesday, 12 February 2013 at 14:35:18 UTC, kenji hara wrote:
2013/2/12 monarch_dodra <[email protected]>

This question came up in the pulls.

Given two different Tuple types, it is possible to run an operator on said tuples, if the operator is legal for each individual field in the tuple.
For example.


Even if each field-wise operations is legal, the synthesis operation of
individual results might not be obvious.

Kenji Hara

Hum...

I went to C++ to see how they do it. Apparently, in C++, cross-tuple operations are fair game:

//----
#include <iostream>
#include <tuple>

int main()
{
    std::tuple<int,   int>   a;
    std::tuple<short, short> b;
    a = b;
    if (a == b)
        std::cout << "hello" << std::endl;
    if (a < b)
        std::cout << "hello" << std::endl;
}
//----

If we follow the rule of "least surprise" and that "things which are common behave the same", it might be safer to keep this behavior.

Reply via email to