[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Advance warning: module system and symbol disruptions
From: |
Marius Vollmer |
Subject: |
Advance warning: module system and symbol disruptions |
Date: |
26 Apr 2001 23:09:16 +0200 |
User-agent: |
Gnus/5.0803 (Gnus v5.8.3) Emacs/20.7 |
Hi,
I want to cleanup symbols.c, which has been annoying me for some time.
In that process, I will also cleanup how the module system hooks into
the rest of Guile.
No changes for `normal' users will happen, but I want to remove a
couple of low-level functions temporarily without deprecating them
first. When all works out, and it is easy to do, the removed
functions might reappear, as deprecated functions. When, hopefully,
nobody is using them, they can remain removed.
Here is a tentative todo list for what I have in mind:
symbols.c cleanup
=================
- Redesign booting of module system
- scm_sym2vcell moves to modules.c
- make it use a dedicated hash table when no lookup function is given.
- make that hash table available to Scheme.
- when the Scheme part of the module system has booted, that hash table
becomes the obarray of the-root-module
- the-root-module will use the standard lookup function.
- the-scm-module will be renamed to the-root-interface (or become
anonymous).
- its lookup function will be a new standard `export-all' lookup
function, which will defer to a second module for every binding,
but will not allow new definitions.
After these changes, there should be no longer any use of builtin
variables or the binding features of symbols.c
- Remove builtin variables from variables.c
- Rewrite symbols.c so that it only deals with string/symbol mappings,
nothing else.
Of course, if anybody sees a problem with this, please speak up.
- Advance warning: module system and symbol disruptions,
Marius Vollmer <=