On Fri, Sep 03, 2004 at 11:20:05AM -0700, Larry Wall wrote:
> On Fri, Sep 03, 2004 at 11:41:05AM +0100, Tim Bunce wrote:
> : And that a pointer would be... what? Some platforms has odd
> : sizing issues for pointers. Perhaps a "voidp" type is needed?
> : (Which would just be an intN where N is sizeof(void*)*8.)
> 
> Eh, pointer?  I don't see any pointers around here...but then I
> haven't looked very hard on purpose...

The Honeywell 6000 (which is still around as a machine from Bull
with a 6 in its name, I believe) was a word addressed machine.
(Words were 36 bits long and could hold 4 9-bit characters
packed into each one.)  Pointers used a few high-order bits to
encode the "byte-number" within the word for languages like C
which thought that character addresses were a meaningful part of
the language.  (So did old Control Data machines, come to think
of it - 60-bit words containing 6-bit and/or 12-bit characters.)

If a int1 (or int2 or nybble or other sub-addressable sized
value) is being referred to, a similar issue arises since most
machines these days have byte addressing, but do not have bit
addressing.  If you can't refer directly to it, the value will
have to be extracted and re-inserted to provide "is rw" access.

-- 

Reply via email to