grauzone wrote:
bearophile wrote:
Andrei Alexandrescu:

* Encode operators by compile-time strings. For example, instead of the plethora of opAdd, opMul, ..., we'd have this:

T opBinary(string op)(T rhs) { ... }

The string is "+", "*", etc.

I thought the problem with this was that the lexer/parser would have to know about semantics, which is against the goals of the language. Would the operator actually be inside quotes?

It's simpler than that.

a + b

will be rewritten into

a.opBinary!("+")(b)

The rewrite is done long after lexing, so no low-level problems there.

Anyway, do we _really_ want to make it possible, that valid D code will look like ASCII art?

We want to improve the state of the art. If the attempt risks to end up doing the opposite, I'm all ears.


Andrei

Reply via email to