Greg Stein wrote: > > I would suggest that both retain their *exact* meaning. We introduce > sys.importers -- a list of importers to check, in sequence. The first > importer on that list uses sys.path to look for and load modules. The > second importer loads builtins and frozen code (i.e. modules not on > sys.path). We should retain the current order. I think is is: first builtin, next frozen, next sys.path. I really think frozen modules should be loaded in preference to sys.path. After all, they are compiled in. > Users can insert/append new importers or alter sys.path as before. I agree with Greg that sys.path should remain as it is. A list of importers can add the extra functionality. Users will probably want to adjust the order of the list. > > Implementation: > > --------------- > > > > - There must clearly be some code in C that can import certain > > essential modules (to solve the chicken-or-egg problem), but I don't > > mind if the majority of the implementation is written in Python. > > Using Python makes it easy to subclass. > > I posited once before that the cost of import is mostly I/O rather than > CPU, so using Python should not be an issue. MAL demonstrated that a good > design for the Importer classes is also required. Based on this, I'm a > *strong* advocate of moving as much as possible into Python (to get > Python's ease-of-coding with little relative cost). Yes, I agree. And I think the main() should be written in Python. Lots of Python should be written in Python. > The (core) C code should be able to search a path for a module and import > it. It does not require dynamic loading or packages. This will be used to > import exceptions.py, then imputil.py, then site.py. But these can be frozen in (as you mention below). I dislike depending on sys.path to load essential modules. If they are not frozen in, then we need a command line argument to specify their path, with sys.path used otherwise. Jim Ahlstrom
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4