At present every Felix 'file' has to #import <flx.flxh>.
To get rid of this, I'm thinking out loud as usual.

Felix has 4 inclusions:

        #include
        #import
        include directive
        compiler accepts multiple file names

#include makes #directives, including #macros, local
to the file and isolated from the #including file.
It neither imports nor exports any #macros.

#import imports #macros, including #syntax, that is,
the #import file exports its #macros, but it does not
import any from the #importing parent. #import therefore
propagates macros upwards, but not downwards.

include directive propagates execution symbols up and down,
but not macros or syntax, include files are independently
parsed and the parse trees spliced together in tree like
fashion. This is a bug.. include files internal to say
a module or function don't make any sense.

Every include file must #import lexical and syntactic
resources independently.

The current #import <flx.flxh> is bugged, because it contains
both #syntax and also #macros. This means it has to be included
exactly once near the top of an include file, but never in any
#include or #import file. But platform macros and keyword or
symbol macros have to put into every #include file because
they're not inherited. OTOH #syntax can only be specified once,
since it propagates.

Hmmm..



-- 
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to