On Monday 31 December 2001 11:57 pm, Boris Tschirschwitz wrote:
> I really don't see what UINTVALS are good for.

Here are reflections on my stance....
http:[EMAIL PROTECTED]/msg06913.html

> I wonder if making the interpreter so much bigger (with all the
> unsigned counterparts of int arithmetic functions) just for being able to
> use native ints instead of bigints a little longer (*2) wouldn't cost more
> than it gains.

That's not what they are used for.  Ops involving generic numbers (like 
adding two numbers) will always be done with signed values.  Anything larger 
than 31/63 bits will use a BIGINT PMC.  Ops involving fixed, unsigned 
internal entities - like string sizes - will either be coded as such, or be 
cast appropriately.  So we shouldn't have two versions of anything.

> If it is for type checking, I doubt that Parrot is the place to worry
> about types, that ought to be done in the language compiled down to
> parrot.

Internal type checking is one reason, yes.  It's supposed to be an 
extra-level of protection, but I'm sure there are a myriad examples of where 
we'll still go wrong.  The occasional bit-shifting (with masks, etc) also 
need protection from high-bit propogation.

> For optimization issues, an optimizer should either check the high level
> source or, perhaps preferrable, the compiler could write an extra file
> with more language independent optimization hints to be used by an
> optimizer, when optimization is required.

-- 
Bryan C. Warnock
[EMAIL PROTECTED]

Reply via email to