On Thu, Apr 27, 2023 at 04:34:48PM +0200, Ralf Hemmecke wrote:
> On 27.04.23 15:49, Waldek Hebisch wrote:
>
> > If that goes in, it will go together with test which can serve as
> > example. Also, 'scope' is part of internal machinery which should be
> > ignorable except for folks that implement things like SUP.
>
> Yes, yes. I usually do not much distiguish between user and developer
> documentation, but anyway, I very much like that code is documented for
> developer explaining the reason why something was introduced. There
> should be a link to the mailing list or even a short explanation (i.e.
> "--" comments near the place where scope is implemented. And if it is
> not for the general user, then the ++ docstring should mention that
> scope is intended for internal purpose.
FriCAS constructors export a lot of things that users are unlikely
to find useful, but are needed for internal purposes. In particular
naive users should be able to ignore OutputForm, for such users
it is just part of magic to get output on the screen. And
description of OutputForm: "It is intended to provide an insulating
layer between ..." sould make clear that this is internal functionality.
> > Rather, user visible functionality is accessed via
> > 'set_replacements'. Concerning documentation, if this is deemed
> > useful enough we could add a paragraph to FriCAS book to explain the
> > problem and solution.
>
> Yes. But it's pretty uninteresting and should go into a developer section.
>
> > For people curious why we have some function generic way is to try
> > break things. Remove the function or redefine it. Then run tests.
> > If no test breaks, then maybe function has no purpose. Or, more
> > likely, there is deficiency in our tests.
>
> We certainly have enough deficiencies in our tests (not every part of
> FriCAS is covered), but if you patch breaks one test, then the test is
> also bad, because relying on the output of SUP is not a good test.
In principle every thing implemented in FriCAS should have a test.
Test testing that output of SUP is as intended is a good test, otherwise
output could get broken and breakage could be detected only after
release.
Granted, other test should not depend on specific form of output, but
there should be at least one test that breaks if you remove functionality.
> > > Wouldn't it make sense that if someone use set_replacements and the
> > > provided list is too short that one could continue with using "?1",
> > > "?2" etc. for the next names?
> >
> > It makes sense. Simply, it is not clear how far we want to go.
>
> Oh, infinity.
I meant how much functionality we want to implement. So you say that
we should fill all available storage with FriCAS sources and binaries
and we should use all available RAM. Well, we are working on this...
> Just count the scopes and whenever you need a variable, then
> generate one with prepending ? to the number of scopes and use that
> variable, if there is none left in the user provided variable names list.
> That should be pretty easy to implement.
Yes, that would be easy.
--
Waldek Hebisch
--
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/20230428000409.posmptcsqeyzb5sv%40fricas.math.uni.wroc.pl.