Vague Heads-up

2001-09-20 Thread Simon Cozens

I'm seriously investigating the possibility of changing IV and NV to something
more readable. 

(But for those of you who are following language-dev, don't tell 'em because
then they'll think they've won. ;)

-- 
I don't understand how people can think SCSI is anything more quirky
than a genius with peculiar dietary requirements in a world where the
creators of Notes, and their new owners, are allowed to walk the streets
without fearing for their very lives. - Graham Reed, asr



Re: Vague Heads-up

2001-09-20 Thread Dan Sugalski

At 03:34 PM 9/20/2001 +0100, Simon Cozens wrote:
(But for those of you who are following language-dev, don't tell 'em because
then they'll think they've won. ;)

Ah, go ahead and tell them. I don't much care about who wins or loses if 
the code's easier to maintain and runs fast. (Neither do I much care about 
people who really care about winning or losing, 'cause they'll get in the 
way of the two main goals... :)

Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk




Re: Vague Heads-up

2001-09-20 Thread Dave Mitchell

Simon Cozens [EMAIL PROTECTED] wrote:
 I'm seriously investigating the possibility of changing IV and NV to something
 more readable. 
 
 (But for those of you who are following language-dev, don't tell 'em because
 then they'll think they've won. ;)

Some time ago I sugested that NV was a bad name, because in early Perl 5
is was there to contrast with PV - ie an SV contains numeric or string
value (or both). When SVs started to hold IVs too, the name became
misleading - it would have made more sense of rename it FV or something.

Also, I think that IV needs splitting into two or more different
types.

There is the type that specifically fits in the Parrot integer registers
and is recognised by parrot ops;

Then there are all the other places within perl and parrot which
need to contain integers or pointers, which may or may not be the same
type or size as the register ints.




Re: Vague Heads-up

2001-09-20 Thread Dan Sugalski

At 04:16 PM 9/20/2001 +0100, Dave Mitchell wrote:
Also, I think that IV needs splitting into two or more different
types.

There is the type that specifically fits in the Parrot integer registers
and is recognised by parrot ops;

Then there are all the other places within perl and parrot which
need to contain integers or pointers, which may or may not be the same
type or size as the register ints.

I don't want to do int-pointer casts anywhere in the source if we can 
possibly avoid it. Yech.

Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk




Re: Vague Heads-up

2001-09-20 Thread Simon Cozens

On Thu, Sep 20, 2001 at 11:39:52AM -0400, Dan Sugalski wrote:
 I don't want to do int-pointer casts anywhere in the source if we can 
 possibly avoid it. Yech.

In which case, do we *need* a type that can hold both.

-- 
Darkly hinting of head hitting desk 
-- Megahal (trained on asr), 1998-11-05



Re: Vague Heads-up

2001-09-20 Thread Dan Sugalski

At 04:38 PM 9/20/2001 +0100, Simon Cozens wrote:
On Thu, Sep 20, 2001 at 11:39:52AM -0400, Dan Sugalski wrote:
  I don't want to do int-pointer casts anywhere in the source if we can
  possibly avoid it. Yech.

In which case, do we *need* a type that can hold both.

I can't think of a reason, no. I don't promise that a reason doesn't exist, 
however. :)

Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk




Re: Vague Heads-up

2001-09-20 Thread Andy Dougherty

On Thu, 20 Sep 2001, Dan Sugalski wrote:

 At 04:38 PM 9/20/2001 +0100, Simon Cozens wrote:
 On Thu, Sep 20, 2001 at 11:39:52AM -0400, Dan Sugalski wrote:
   I don't want to do int-pointer casts anywhere in the source if we can
   possibly avoid it. Yech.
 
 In which case, do we *need* a type that can hold both.
 
 I can't think of a reason, no. I don't promise that a reason doesn't exist, 
 however. :)

Well, the following (macro-expanded) line in register.c tries to go both
ways:

chunk_base = (void *)(0xf000   (IV) interpreter-int_reg ) ;

-- 
Andy Dougherty  [EMAIL PROTECTED]
Dept. of Physics
Lafayette College, Easton PA 18042




Re: Vague Heads-up

2001-09-20 Thread Dan Sugalski

At 02:21 PM 9/20/2001 -0400, Andy Dougherty wrote:
On Thu, 20 Sep 2001, Dan Sugalski wrote:

  At 04:38 PM 9/20/2001 +0100, Simon Cozens wrote:
  On Thu, Sep 20, 2001 at 11:39:52AM -0400, Dan Sugalski wrote:
I don't want to do int-pointer casts anywhere in the source if we can
possibly avoid it. Yech.
  
  In which case, do we *need* a type that can hold both.
 
  I can't think of a reason, no. I don't promise that a reason doesn't 
 exist,
  however. :)

Well, the following (macro-expanded) line in register.c tries to go both
ways:

 chunk_base = (void *)(0xf000   (IV) interpreter-int_reg ) ;

True. That's one of the really evil bits, though. (As is a good chunk of 
memory.c...) I only yanked in IV as a typecast as a convenience, and it 
really ought to be something else.

Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk