Oldes / Rebol-wishes

Repository for keeping Rebol related wishes out of issues
0 stars 0 forks source link

Internal modules #16

Open Siskin-Bot opened 4 years ago

Siskin-Bot commented 4 years ago

Submitted by: BrianH

We have been planning to make it possible to split the built-in functions and words into groups, and then make some of those groups optional. This is part of why we added modules in the first place. The backwards compatibility policies depend on this too, since we want the old-style functions to be not loaded unless people need them.

However, due to the bootstrapping process we're going to need two kinds of modules. After the mezzanines and such are loaded you can use regular modules, since the infrastructure for them is there. For modules made during the bootstrap process though, such as those which contain natives, we need to fake them.

Fortunately we can do this with available natives and actions, we don't have to make anything new. The native bootstrap generator will need namespace support. There will need to be a minimal boot time MODULE function which calls TO instead of MAKE, passed an object instead of a body, which gets overridden with the regular MODULE afterwards.

Embedded extensions will still need their special loader, after the mezzanines start. Most of those will depend on the runtime library functions anyways.

We don't at this point even need to choose what we want to or can put into which modules, this is just the making-it-possible step.


Imported from: CureCode [ Version: r3 master Type: Wish Platform: All Category: Mezzanine Reproduce: Always Fixed-in:none ] Imported from: https://github.com/rebol/rebol-issues/issues/2126

Comments:


Rebolbot added the Type.wish on Jan 12, 2016