Quick technical design question I wanted to throw out for debate: 
unsigned types.  The current s5 design calls for 8, 16, 32 and 64 bit 
signed and unsigned integer types, in addition to single- and 
double-precision floats.  It recently occurred to me that some important 
languages don't have unsigned types (Java being the main one, but also 
many dynamically typed languages only have a single "integer" or 
"number" type).

Does it make sense to axe unsigned types from the basic core types in 
the interests of harmony between languages, or do we want as diverse a 
set of basic types as possible and leave it up to the language binding 
to deal with it?  (Then you have to figure out what the correct behavior 
is when you pass in a negative number to an unsigned type...)

The reason I bring this up is that I was reading about issues people 
have with with CORBA mappings, and one of the things that came up was 
the fact that there was this impedence mismatch between the CORBA data 
model (which had unsigned types) and languages that didn't have unsigned 
types.

The main advantage of unsigned types is not so much that the extra bit 
lets you store a bigger value, but that it is unambigious when you are 
storing values like list sizes or an indexes into a list.  Also uint8 is 
useful for storing blobs where it's not clear that the values are 
signed, unsigned or what, and so should just be passed through 
unmodified.

Comments?  (I'm looking at your Lalo, Kao :-)

-- 
[   Peter Amstutz  ][ [EMAIL PROTECTED] ][ [EMAIL PROTECTED] ]
[Lead Programmer][Interreality Project][Virtual Reality for the Internet]
[ VOS: Next Generation Internet Communication][ http://interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey:  pgpkeys.mit.edu  18C21DF7 ]

Attachment: signature.asc
Description: Digital signature

_______________________________________________
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d

Reply via email to