REBOL3 tracker
  0.9.12 beta
Ticket #0001186 User: anonymous

Project:



rss
TypeBug Statusdismissed Date5-Aug-2009 01:13
Versionalpha 76 CategoryMezzanine Submitted byBrianH
PlatformAll Severityminor Priorityhigh

Summary MAKE module! doesn't process the Needs header
Description If you make a module with MAKE module! or MODULE, rather than DO of module script file, the Needs header of the module is not processed. Under most circumstances, this means that the module won't work at all.

To fix this, a couple lines need to be moved from the DO intrinsic to the MAKE-MODULE intrinsic, and #1180 needs to be implemented.
Example code

			

Assigned ton/a Fixed in- Last Update21-Aug-2009 07:22


Comments
(0001516)
Carl
20-Aug-2009 01:49

MAKE module! is meant to be low level like most other MAKE actions. It should be "nicely bounded" (mainly time deterministic) in its processing. Its main purpose is to allow users to immediately define a module or to cluster together packages of modules.
(0001520)
BrianH
20-Aug-2009 06:35

OK. After some thought, this has an interesting side effect on the semantic model: If the Needs header is only processed from the script header, then you will be able to always process it statically, without executing the code of the module. This lets you write a preprocessor that can be module-aware.

It will require a little rearranging, but may be able to be done without breaking things.
(0001539)
BrianH
21-Aug-2009 07:22

Figured it out: The words from unnamed modules (if any) are now returned from DO-NEEDS in an object, and then passed to MAKE-MODULE in the module header, assigned to a 'mixins field. This solution required dismissing #1180 and #1182 as well, but overall code is simpler as a result (or at least simpler than it would be otherwise).

Date User Field Action Change
21-Aug-2009 07:22 BrianH Comment : 0001539 Added -
20-Aug-2009 07:44 BrianH Comment : 0001520 Modified -
20-Aug-2009 06:35 BrianH Comment : 0001520 Added -
20-Aug-2009 01:49 carl Status Modified reviewed => dismissed
20-Aug-2009 01:49 carl Comment : 0001516 Added -
5-Aug-2009 01:14 BrianH Description Modified -
5-Aug-2009 01:14 BrianH Status Modified submitted => reviewed
5-Aug-2009 01:13 BrianH Ticket Added -