[vos-d] datatypes
Peter Amstutz
tetron at interreality.org
Mon Jan 22 10:07:43 EST 2007
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 ][ tetron at interreality.org ][ peter.amstutz at gdit.com ]
[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 ]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://www.interreality.org/pipermail/vos-d/attachments/20070122/a6c0d963/attachment-0001.pgp
More information about the vos-d
mailing list