ApplicationMaker
ApplicationMaker copied to clipboard
UpdateInit is dependencies ignorant
UpdateInit
of PackageMaker.m
is dangerous. It lists packages in alphabetical order and puts them into Init.m
this way. Consider now two packages in an application,
-
SomeFundamentalPackage.m
-
NotSoFundamentalPackage.m
When NotSoFundamentalPackage
lists SomeFundamentalPackage
as a dependency, everything then breaks down, because NotSoFundamentalPackage
would be loaded first.
The issue with dependencies is pretty global for Mathematica. This one can be addressed by analysing BeginPackage
expressions inside packages. Cyclic dependencies should probably be prohibited.
I am currently writing an application with some somewhat complex (but nowhere cyclic) dependencies. Can you elaborate on what you mean by "This one can be addressed by analysing BeginPackage expressions inside packages."