null references redux + Looney Tunes

Justin Johansson no at spam.com
Mon Oct 5 01:03:35 PDT 2009


Andrei Alexandrescu Wrote:

> Justin Johansson wrote:
> > Andrei Alexandrescu Wrote:
> > 
> >> Nick Sabalausky wrote:
> >>> "Justin Johansson" <no at spam.com> wrote in message 
> >>> news:haavf1$2gs7$1 at digitalmars.com...
> >>>> It's a difficult challenge to get high performance, readable and 
> >>>> maintainable code out of complex number
> >>>> intensive algorithms.   Use of library types for complex numbers has, in 
> >>>> my experience been problematic.
> >>>> Complex numbers should be first class value types I say.
> >>>>
> >>> There's been discussion before (I can't find it now, or remember the name 
> >>> for it) of type systems that allow for proper handling of things like m/s 
> >>> vs. m/(s*s) vs inch/min etc. I haven't actually worked with such a feature 
> >>> or with complex/imaginary numbers in any actual code, so I can't be sure, 
> >>> but I've been wondering if a type system like that would be an appropriate 
> >>> (or even ideal) way to handle real/complex/imaginary numbers.
> >> It better be. Complex numbers aren't that complicated of a notion. 
> >> What's lost in pulling them out of the language is the ability to define 
> >> literals.
> > 
> >> "Now please name five remarkable complex literals."
> > 
> > (re, im) ::= (0, 0), (1,0), (0,1), (1,1), (pi/2, 0), (0, pi/2), e_to_the_power_(minus j),
> >  e_to_the_power_(minus j * pi/2)
> > 
> > Is that what you mean?
> 
> (Three of those are real.)
>
> What I meant was that complex literals helped by syntax are seldom 
> likely to improve code quality. Many numeric literals are of 
> questionable taste anyway and should at best defined as symbols. I don't 
> see why complex literals shouldn't follow the same recommendation.

"Three of those are real."

What?  Members of the set of real numbers are not members of the set of complex numbers?

If anything remove from the language type which is a subtype of a bigger type!!!

-- Devil's advocate :-)


P.S. Thanks for the clarification, Andrei, I understand what you mean now.





More information about the Digitalmars-d mailing list