Null references redux
Jeremie Pelletier
jeremiep at gmail.com
Mon Sep 28 03:40:59 PDT 2009
Jari-Matti Mäkelä wrote:
> Jeremie Pelletier wrote:
>
>> Nick Sabalausky wrote:
>>> union A {
>>> int foo;
>>> float bar;
>>> }
>>>
>> Yet it's the only way I know of to do bitwise logic on floating points
>> in D to extract the exponent, sign and mantissa for example.
>
> You could add built-in methods for those operations to the float type:
>
> float bar;
>
> boolean s = bar.sign;
> ...
That would be so inefficient in some cases, you don't always want to
shift the data like bar.sign implies.
> Union is very flexible, but unfortunately it's also one of the features that
> can break the type safety in D.
That's the best thing about systems languages: to have a core set of
rules, and to be able to purposely break them. Even better, you still
pass go and still get $200.
I don't want a language that takes me by the hand for a walk in the
park. I want a language that keeps me on my toes and punch me in the
face every now and then :)
More information about the Digitalmars-d
mailing list