* You know your requirements, so design to that. If you need more than 
high(int64), then use bignum or ....
  * The int type is different on different systems, so for your case, don't 
define anything as int. Use specific int sized types like int32 or int64 (or 
bignum, or ...) so that both ends are consistent. That will have speed 
implications (especially if you need bignum)
  * The point is valid that you must have some protocol to talk client/server, 
and it will define the type/size of the binary data you send/receive. Each end 
either converts or uses that data as is.
  * As I understand it, float is consistent across 32/64 bit platforms (maybe 
someone else can clarify that further).



> And it's way simpler to just use uint64 for IDs, than to implement some 
> complicated ID-reusing system.

Nim defaults to using `int` rather than `uint` (change of mindset from C), so 
you should really be using `int64` rather than `uint64`. You can of course use 
uint64, but if so, there are specific uint operators for this (not doing this 
will add even more potential problems).

Reply via email to