Need to Make a Decision about Name resolution
Eric-Edlund opened this issue · comments
The docs discuss the idea of assigning modules string names which resolve at runtime to module IDs instead of just giving them IDs. I believe that #43 addressed all the concerns this idea aims to solve and that we can safely remove it from the documentation.
In the current implementation, there are two ways to send a message to a module.
- Use the module's ID which is specified in
name_resolver
by a named constant. - Use the module's
Mail_Target
which is specified in the generated API file.
In both cases, neither the sender or receiver are directly aware of their module ID number. The module name (the name of the constant) is used in the name_resolver
and provides API stability. It is required that for any CubedOS application that uses the Time_Server module, the entry Time_Server : constant Module_ID_Type := ?
appears in name_resolver.ads
. If that isn't present, the generated API files won't compile.