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