[Python-Dev] capability-mediated modules (was: python-dev Summary
for 2003-03-01 through 2003-03-15)
Ben Laurie
ben@algroup.co.uk
Thu, 20 Mar 2003 10:33:26 +0000
Greg Ewing wrote:
> Zooko <zooko@zooko.com>:
>
>
>>Now what I would *like* is that instead of doing "import os" to load code,
>>instead the caller provides, or doesn't provide the os module as part of the
>>construction/invocation of A.
>>
>>I don't have a clear idea yet of how that could be implemented in a
>>Pythonic, compatible way.
>
>
> Maybe, instead of there being one ultra-global namespace for importing
> modules from, it should be part of a function's environment. By
> default a function invocation would inherit the "import environment"
> of it's caller, but the caller could override this to provide a more
> restricted environment.
Inheriting things is not the capability way. Passing capabilities that
allow imports is, of course, but isn't very Pythonic. I'm not sure
there's a neat way to fix this that keeps both camps happy.
> This would be equivalent to passing in a set of allowable
> modules as an implicit parameter to every call.
Making it explicit would make me happy. Can you pass parameters to an
import?
Cheers,
Ben.
--
http://www.apache-ssl.org/ben.html http://www.thebunker.net/
"There is no limit to what a man can do or how far he can go if he
doesn't mind who gets the credit." - Robert Woodruff