Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- For source-code-only modules with *nix env. as example
- 1) Default is using newest awailable module (last installed one).
- Storage subsystem:
- /usr/lib/perl6/compiler-version/modules/Foo/Bar.pm.0.98.auth_name
- /usr/lib/perl6/compiler-version/modules/Foo/Bar.pm.0.98.another_name
- /usr/lib/perl6/compiler-version/modules/Foo/Bar/MOP.pm.0.98.auth_name
- /usr/lib/perl6/compiler-version/modules/Foo/Bar/MOP.pm.0.99.auth_name
- Links to newest modules (or copy of newest modules), updated by package manager, in:
- /usr/lib/perl6/compiler-version/lib/Foo/Bar.pm # ver. 0.98, auth which was last instaled
- /usr/lib/perl6/compiler-version/lib/Foo/Bar/MOP.pm # ver. 0.99
- So 'use Foo::Bar;' looks in '/usr/lib/perl6/compiler-version/lib' for newest modules.
- Means MOP v.0.99 is used by default.
- Then 'use Foo::Bar::MOP:ver.a.bc' must be used to get required version. This overrides if newer version
- was loaded.
- Loader subsystem:
- If things must be complicated then middle-ware app can be used for manage set of modules and used as:
- perl6 -I manifest.mft App.pl
- or
- use Loader::Versions('my_set');
- Modules sets can be modified/edited. Sets can be a way to 'deploy' modules into production environment.
- Precompilation:
- Resolving right module is done by searching for right Code::Source.pm6 and then cache can be checked.
- Middle-ware can also define 'sets' of modules, precompile them, allow to switch to other set, etc.
- 'Auth' influence not fully used here. 'Auth' means source probably. Can be resolved in middle-ware sets.
- Any modifications hereby are allowed.
Advertisement
Add Comment
Please, Sign In to add comment