The system that keeps track of a module's children, their names, order, etc. is overcomplicated and should be fixed. It will impact how users interact with their models.
In lib/Network.chpl, we have,
https://github.com/Iainmon/ChAI/blob/da80575fa1fdc90b22531168662814e1755ca434/lib/Network.chpl#L271
which should just be a dict(string,shared Module) or something. It seems like the moduleChildren record just causes more problems and requires more overloads. Most of the iters in the module class shouldn't really be used. I wasn't able to spend too much time designing this and think it could be made much simpler.
The system that keeps track of a module's children, their names, order, etc. is overcomplicated and should be fixed. It will impact how users interact with their models.
In
lib/Network.chpl
, we have, https://github.com/Iainmon/ChAI/blob/da80575fa1fdc90b22531168662814e1755ca434/lib/Network.chpl#L271 which should just be adict(string,shared Module)
or something. It seems like themoduleChildren
record just causes more problems and requires more overloads. Most of the iters in the module class shouldn't really be used. I wasn't able to spend too much time designing this and think it could be made much simpler.