Don wrote:
bearophile wrote:
So far I've just given a light reading of the code. Notes:
- pow(x, 2) and sqrt(y) can be written as x ^^ 2 and y ^^ 0.5 (but you
have to import std.math anyway, because of a bug).
That's not a bug. It's intentional. x ^^ y will probably always require
import std.math, if y is a floating point number.
Really? Why is that? I find that kind of disappointing, I always
believed it to be a temporary solution.
I think the inconsistency with the other operators will make this a
major WTF for people new to the language. Why should a^^b require an
explicit import while a*b doesn't?
If the language made it possible to overload operators using free
functions, I wouldn't mind if opBinary!"^^"(float, float) was
implemented in std.math. The way it is now, it's a halfway built-in,
halfway library feature, and just seems halfway altogether.
-Lars