Remove complex and imaginary types?
davidl
davidl at 126.com
Mon Jan 7 00:15:31 PST 2008
在 Mon, 07 Jan 2008 15:43:51 +0800,Oskar Linde
<oskar.lindeREM at OVEgmail.com> 写道:
> 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. :)
>
Oh, I didn't think of making i a struct...
This would ban the use of i as a variable name. A lot of beginning
tutorials use i as a variable name :)
And sometimes I use it for convenience. And that would break a lot test
purpose code.
--
使用 Opera 革命性的电子邮件客户程序: http://www.opera.com/mail/
More information about the Digitalmars-d
mailing list