I guess that will not work: When your "memory map" is just a plain array of 
uint32 types, then all entries are equal. That is because in Nim by design all 
elements of an array have the same type, and more importantly, unit32 is just 
32 bit, which is used all for storing numbers, there is no bit free to encode 
type. In Nim you may use objects of different type, maybe object variants, or 
refs to various object, which you can store inside an array. But that will 
consume additional memory. Or you may decide to just use a few bits of your 
uint32 to indicate type, and remaining bits for the numbers. That is a low 
level hack.

You may know the keyword distinct, it can be used to create distinct types. But 
I think it does not help you, as an array can only contain one single type. 

Reply via email to