import ceylon.language.meta.declaration { Module } """Represents the list of Ceylon modules currently loaded at runtime. Note that this contains all loaded modules, including those that are not imported by your module. Since Ceylon supports module isolation at runtime, it is possible that there are more than one version of a given module loaded at the same time. ### Usage example Here's how you would iterate all the loaded modules and print their name and version: import ceylon.language.meta { modules } for(mod in modules.list){ print("Module: ``mod.name``/``mod.version``"); } """ shared native object modules { "Returns the list of all currently loaded modules. This may include modules that were not imported directly by your module, and multiple versions of the same module." shared native Module[] list; "Finds a module by name and version, returns `null` if not found." shared native Module? find(String name, String version); // FIXME: can we really not have a default module? "Returns the default module, if there is one. This is only the case when you are running the default module." shared native Module? default; // FIXME: add load/unload }