On 2012-11-19 10:58, Paulo Pinto wrote:

I don't see what it would break, besides the pre-processor usage.

Exactly:

"‘import’ ignores preprocessor state within the source file".

But what I don't understand is that on a few slides later it says:

"What Does import Import?"

And:

"Functions, variables, types, templates, macros, etc."

Note it says "macros".

Modules mean that the compilers just need to read a symbol table
or an AST from an external file.

That's basically how it works:

1. Find a module map for the named module
2. Spawn a separate instance of the compiler:
 2a. Parse the headers in the module map
 2b. Write the module file
3. Load the module file at the ‘import’ declaration
4. Cache module file for later re-use

I think this is only to be compatible with pre-existing headers.

--
/Jacob Carlborg

Reply via email to