aboutsummaryrefslogtreecommitdiffhomepage
path: root/notes/module_restrictions.txt
blob: 4910699937e89a02f4d158a640b1264da9e52dd1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

Module Restrictions
===================

It can be desirable to limit the usage of a module, for example if it is
an internal module that is not meant to have a stable API.

A new \attribute could be added to express this. And the module could also
have no stable versions.

    \slul 0.0.0
    \name foo_internal
    \type library
    \version 1.0.3 unstable
    \restrict_to foo
    \restrict_to foo_*

("unstable" might sound a bit too scary perhaps?)

This isn't fully proof, because someone could just name a module "foo_x" and
get access to the foo_internal module. But this could be restricted by
package repositories (e.g. "foo_*" modules may only be created/uploaded by
a specific set of people/organizations).