[Python-Dev] capability-mediated modules (was: python-dev Summary for 2003-03-01 through 2003-03-15)

Samuele Pedroni pedronis@bluewin.ch
Fri, 21 Mar 2003 00:54:21 +0100


> Samuele Pedroni <pedronis@bluewin.ch>:
>
> > The problem is that normally modules are uniquely globally identified
> > singletons, but the very notion of parametrization implies instantiation
and
> > that breaks the singleton part.

to makes things clearer

> Python already has things you can instantiate -- they're
> called classes!

Python already has things you can parametrize -- they're
called classes!

> Seems to me if you want instantiation, you should be using
> a class, not a module.

Seems to me if you want parametrization, you should be using
a class, not a module.

Maybe.

[ what is sometimes called a "unit" that means a parametrizable and instatiable
module can be a useful generic-programming construct. ]

the underlying questions is how much cap-Python programming can be like/we want
it like current Python programming?

for example concretely,

module and imports are often used to access "program-wide" factories. Do we
want cap-confined client code to be rewritten in order to pass the factories or
single factory-constructed objects  otherwise:

[Zooko]
>So one design for cap-Python might say that only safe modules can be imported
by
>cap-Python code.  Every unsafe privilege would have to be granted by using
>references (passed as arguments, assigned to variables, etc.).  No authority
>would ever be made available to capability-secured code through "import".

or not.

There are trade-offs in terms of necessary semantics changes/complexity vs.
language overall feeling preservation and legacy code reuse and adaptation.