On 2/21/24 18:04, Hill Strong wrote:
My count is that there are 24 occurrences of this particular combination.
There are other combinations that exist for which a named category is
available - one example is Join(LinearAggregate(S), finiteAggregate)
which can be replaced with FiniteLinearAggregate(S). One place applicable
would be FiniteLinearAggregateFunctions2.
When I see this in code bases, it is an indicator that this should be
looked at and fixed appropriately.
Suppose there are two categories CatA and CatB and we define
CatAB: Category == Join(CatA, CatB)
You know that there is a little difference between
FooJ(D): Export == Implementation where
D: Join(CatA, CatB)
Export ==> ...
Implementation ==> ...
and
FooC(D): Export == Implementation where
D: CatAB
Export ==> ...
Implementation ==> ...
.
If we have
Dom: Join(CatA, CatB) == ...
then
FooJ(Dom) is OK, while FooC(Dom) is not.
In that sense the definition of FooJ is more general.
Yes, it may make sense to introduce specific categories, like CatAB,
but you then have to go through the whole FriCAS sources and figure out
in which cases you might have to add something like CatAB to the exports
of a certain domain (or category, and maybe even conditionally, i.e.
depending on a domain parameter). That is doable, but sounds a bit
error-prone. I don't even know whether it is easy to check that such a
code modification did not introduce unwanted behaviour, because we might
not yet have a test included for such circumstance.
Ralf
--
You received this message because you are subscribed to the Google Groups "FriCAS -
computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/fricas-devel/a37b415c-7eb1-4cb6-8b37-f84f87f9bf5a%40hemmecke.org.