On Fri, May 24, 2024 at 05:13:10PM +0800, Qian Yun wrote:
>
>
> On 5/24/24 06:32, Waldek Hebisch wrote:
> >
> > I am not sure. At least we world need proper dependencies. Most of
> > those files are categories. We compile categories because compiling
> > may need to load compiled categories. And compiling a category need
> > categories that it uses. Our list of categories to compile is sorted
> > so that dependencies are compiled first.
> >
>
> I was not aware that there's order in CATLIST.
>
> Can you update this information to doc/algebra_build.txt?
Well, 'doc/algebra_build.txt' clearly say that there are dependencies,
in particular there is:
: FriCAS types are represented by
: executable code and sometimes FriCAS needs to load actual compiled
: code. FriCAS needs to load categories given as arguments to 'Join',
: because 'Join' is implemented as a runtime operation. Also
: FriCAS needs to load a category given as an argument to a constructor
: if this category itself has arguments.
There is also:
: The first four stages are purely sequential.
Maybe we should add after that:
In stage 3 and 4 categories and core domains are compiled in order, so
that dependencies came before constructors needing them.
> Also does other parts of that file need update?
That really is question to potential readers. For me 'purely
sequential' means that we care order and by inference order
is chosen to satisfy dependencies. But it may help to be
more explicit here.
--
Waldek Hebisch