Do you mean ParentModule.* ?
I wouldn't call it "good" or efficient, but here's a lousy hack that gives a list of "submodules" of Elixir currently loaded in runtime:
:code.all_loaded
|> Enum.map(&(elem(&1, 0) |> to_string))
|> Enum.filter(&(Regex.match?(%r/^Elixir\./, &1)))
Unless I'm mistaken, a module is not loaded in runtime before some code references it (also in runtime).
Meaning that the snippet above may not give you what you actually need.
In all honesty, I would think twice, if not more times, before using this in production. Why do you need to know about which submodules are available?