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 ]
signature.asc
Description: Digital signature
_______________________________________________ vos-d mailing list vos-d@interreality.org http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d