I will respond in separate posts to reduce the risk of confusion.
@mercurhyo
Thank you mercurhyo.
That is exactly what I was referring to.
This "SMARTLINK" feature should certainly be used to implement the theoretical concept of PartialUnits. In essence, the idea of PartialUnits would be nothing more than the concept of "Divide et impera" applied to a single Unit while always maintaining an OOP-type approach.
I would have a question:
What is the "MyUnit.thisfunction;" syntax used by Delphi called? Looks a lot like the syntax that is used in C# (.Net in geneneral) to access the sub-Classes.
Unfortunately, at the moment, SMARTLINK only works on applications (standalone executables) it does not work on libraries that you create. it's explained somewhere on the wiki, and it is due to compiler limitations (the compiler do not work with an artificial intellig. neuronal). SO it is stable!!! and SAFE!
Ehm... smartlinking also works for libraries. Everything that is exported from a library is considered "referenced" (just like an executable's entry point is considered "referenced") and everything that is referenced by a "referenced" function is considered "referenced" as well, thus it's in
your hand what gets linked in.
.... maybe one day, with dynamic packages instead of static, let say, around 2030
Dynamic packages will solve nothing there. In that regard they are even worse, because all
interface-sections of all units are considered exported and thus "used". A package will contain
all code for its contained units (except private functions that are not used). The main advantage here is that packages can be used by multiple applications and thus the required storage space in total can be reduced. For only one application the required space will be larger however (see also
this mail where I demonstrated the sizes).