(sorry, I posted it before I finished...)

Dan Sugalski wrote:

> Sure. 5 + 10i will probably evaluate to "5" + "10i" and just get
> constant-folded at compile time. ;)

That's good to know. :)

> >I don't think that imaginary numbers should have
> >their own class, like real ones have.
>
> If we support imaginary numbers, it'll be via a beefed up number type.
> Basically the numeric bits will be expanded to have a real and an imaginary
> type. (Support for generating imaginary numbers will probably be lexically
> scoped.

I see. So there are two main basic types, real and imaginary, and
complex is made of both, and not the imaginary being implemented as
complex with zero as real part, as I thought before. I'm a little bit
confused, so I'm not sure if I get it right.. :)

> As Hugo's pointed out, suddenly generating imaginaries where we
> used to throw errors will probably trip up the unwary)

Right, but there should be a way to easily process imaginary and complex
numbers in strings, however not by default.

> As for more complex string literals evaluating to numbers, I think that's
> something best left to either a user-written sub, or user-written fancy
> parser hacks. Up to Larry whether it goes in the base language, but I think
> I'd prefer not.

If it will be easily possible to run some sub in the place where (with
-w) 'Argument "x" isn't numeric in addition...' would be produced, than
I can try to write such sub, or a whole module. I'm not saying that it
should be in the core language, or turned on by default, I'd just like
it to be easy to turn on and to use. Now I don't know how exactly to do
that, but I would like to, at least, help with the implementation.

- RaFaL Pocztarski, [EMAIL PROTECTED]

Reply via email to