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

Reply via email to