[syntax] define-module name clause ...

Chicken: clause should be a form with export, import, import-excluding, files, begin, or unit. Defines the module named name. Previous definition will be overwritten. See also Chicken:ModuleSystem?.

[syntax] define-module name expr ...

STk, STklos, Gauche: Creates module name (symbol) if it doesn't exist yet, then evaluates exprs with making the new module the current module. If there's already a module name, definition will be added to the existing module.

The 'current module' is reset after this form.

ChezScheme has module that does similar thing.

See also import, export, export-all, select-module, current-module, use, Gauche:ModuleSystem, STklos:ModuleSystem?.

[syntax] define-module name option ...

Guile: Creates module name (a list) with specified options. Options include: :use-module, :use-syntax, :autoloat, :export, :no-backtrace.

The 'current module' is switched to name after this form.

See also export, define-public, use-module?, Guile:ModuleSystem?.

 B and You