Thank you, Araq. I generated as many sequences as possible, like these:
    
    
    7 seq vars like:  var system_map_{g,e,x,m,pos,neg,nau} = 
newSeq[tuple[id:int, sysID:int]]().
    7 seq const vars like:  const asset_map_{g,e,x,m,pos,neg,nau} = 
newSeq[int]().
    1 seq var like: var system_def = newSeq[tuple[name:string, sysID:int, 
sysBody:string]]().
    7 seq vars like: asset_def_{g|e|x|m|pos|neg|nau} = newSeq[(name:string, 
procID:int, procBody:string)].
    indefinite number of asset procs {g|e|x|m|pos|neg|nau}proc(#):  i.e. 
g1proc(), e8proc(), x4proc(), etc.
    

If I made everything a constant will that mean everything is done in the VM 
phase and subsequent macros may reference const vars created by earlier macros? 
I tried accessing my const 
asset_[map](http://forum.nim-lang.org/postActivity.xml#map).. variables from a 
later macro and couldn't. I could probably get by with everything being a 
constant, except the 
asset_[def](http://forum.nim-lang.org/postActivity.xml#def).. ones. If I 
understand correctly, a plus of having var sequences is being able to store a 
lot on the heap, which I need for the 
asset_[def](http://forum.nim-lang.org/postActivity.xml#def).. sequences.

Being able to define these before my program even runs means I can 
declaratively build-up all the programming building blocks from config files, 
and my main program can programmatically mix-and-match code blocks, which is 
incredibly helpful meta-programming capability.

Reply via email to