Andrew Brunner schrieb:
ns is where I plan to put my "parent" namespace. All other structs/consts/defaults/enums/ etc will be declared there and under children of ns (globals there and children have their own from that point on...).
You can apply that to your unit names as well.
With namespaces - I can organize differing structs even classes within the same unit bypassing the circular reference issue.
This is not a feature of namespaces, it's a compiler feature. A Pascal (OPL) compiler could allow for circular unit references as well, at the cost of compilation time (eventually multiple passes are required).
IMEO namespaces are something to get EXCITED about.
True, as long as a language has no other means of structuring code. But OPL already has a notion of namespaces, called "units" :-]
Namespaces instead are unrelated to source files, so that a compiler and linker has to know about all source files that contribute to every single namespace. Development systems try their best to hide this consequence, but they are not always successful. In fact .NET needs assembly references in the first place, so that it can know which source modules make up every assembly. Only from that catalogue it's possible to build the namespaces, by extracting the declarations from the assemblies. This additional namespace tree is not required in OPL, where unit names (and packages) already are unique and sufficient for disambiguation.
DoDi -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
