Remove complex and imaginary types?

Oskar Linde oskar.lindeREM at OVEgmail.com
Sun Jan 6 23:43:51 PST 2008


Walter Bright wrote:
> The issue comes up now and then about why have complex and imaginary 
> types, rather than using structs? All but one of the advantages of 
> having them be core types can be addressed with advancing compiler 
> technology. Getting rid of them will release 6 keywords, and make the 
> core language simpler. Given the increasing complexity of D, this will 
> help.
> 
> The remaining advantage is that of imaginary literals, i.e. the i postfix:
> 
>     3 + 5i
> 
> Assuming we solve the literal problem, existing code would only need to 
> add:
> 
>     import std.complex;
> 
> to acquire complex and imaginary types.

Sounds like a good idea. Complex math is probably only used in a very 
small subset of D code, and if most advantages of having the types built 
in are rendered irrelevant I see no reason not to take this opportunity 
to simplify the language.

Regarding literals, I'd say this is would be an adequate replacement for 
the above expression:

	3 + 5*i

And last, getting rid of the creal and ireal keywords can only be a good 
thing. :)

-- 
Oskar



More information about the Digitalmars-d mailing list