10.9. Calls into every member of a module group

The MODULE_GROUP module calls into every member of a module group. call_module_group("group", "entry", args...) expands at compile time to one member::entry(args...) call per module registered under the group, sorted by member path, so the module that wrote require [group] reaches its members without naming them. A member without the entry is a compile error naming the call; a group nothing joined expands to nothing.

All functions and symbols are in “module_group” module, use require to get access to it.

require daslib/module_group

10.9.1. Call macros

call_module_group

call_module_group(“group”, “entry”, args…) expands to one member::entry(args…) call per member, sorted by member path, an empty group to nothing; an argument that is not a constant or a plain variable is bound to a local ahead of the calls, so it is evaluated once.

10.9.2. Group members

module_group_module_name(member: string ): string

The module a group member’s require path names: its last segment, less the .das a relative spelling (./foo.das) may carry.

Arguments:
  • member : string