REBOL3 tracker
  0.9.12 beta
Ticket #0002126 User: anonymous

Project:

Previous Next
rss
TypeWish Statussubmitted Date6-Mar-2014 07:49
Versionr3 master CategoryMezzanine Submitted byBrianH
PlatformAll Severityminor Prioritynormal

Summary Internal modules
Description 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.
Example code

			

Assigned ton/a Fixed in- Last Update6-Mar-2014 07:51


Comments

Date User Field Action Change
6-Mar-2014 07:51 BrianH Description Modified -
6-Mar-2014 07:50 BrianH Description Modified -
6-Mar-2014 07:49 BrianH Ticket Added -