Ralf 1) Many graphs in chapter seven FriCAS UG do NOT correspond to what announced in the text (I was preparing a list of patches but you anticipated me).
In 2D graphs this is due to a missing 'title=...' in the invoked command draw and also due the fact that 'unit=...' shows nothing because the system default is do not show units. This way one has to manually switch them via the control panel, as Johannes remarked, or by invoking units. This behavior is highly user-unfriendly: if a user takes the time to write unit=... in the command, that likely means that s/he wants to see them (immediately!) So, to me, the simplest & user-friendliest solution would be a patch that adds a line that shows the unit whenever the unit=... option is there (maybe by calling units, but I do not know if the viewport is available at that level). Right now I'm unable to suggest more... 2) Speaking of the wide family of draw functions, I have the impression that there is some interpreter black magics involved in how options are dealt with. The problem is that one needs functions with a variable number of formal parameters (the options). In the API I see signatures involving 'List DrawOption' : draw: (Ex, SegmentBinding Float, List DrawOption) -> TwoDimensionalViewport draw(f(x), x = a..b, [ title="bim", units=[1.0..2.0,1.0..2.0] ]) but in interpreter you invoke them WITHOUT a list of options i.e. draw(f(x), x = a..b, title="bim", units=[1.0..2.0,1.0..2.0]) This conflicts with the API, and I guess plain SPAD ... I hate exceptions! I see that there is some hardcoded code in the interpreter dealing with draw src/interp/i-funsel.boot#L300 [1] but I do not really understand if the aforementioned magic happens here. Hope that Waldek will pass and prune the un-necessary here... 3) Speaking of user-unfriendliness of draw functions, I would like to emphasize that draw for algebraic curves draw(f(x, y) = g(x, y), x, y, l) [2] introduces an exception to the usual syntax for ranges, obliging the user to use an adhoc option 'range': draw(x^2+y^2 =1, x, y, range==[0..1,0..1]) instead of the usual syntax draw(x^2+y^2 =1, x = 0..1, y=0..1) ... I hate exceptions! ric [1] https://github.com/fricas/fricas/blob/master/src/interp/i-funsel.boot#L300 [2] https://github.com/hemmecke/fricas/blob/master-hemmecke/src/algebra/draw.spad#L962 -- 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 post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/fricas-devel. For more options, visit https://groups.google.com/d/optout.
