For the record, I am that reviewer. > As a huge part of Arpit Merchant's GSoC project on Gabidulin codes, > > we've been working on Xavier Caruso's old patch implementing skew > > polynomial rings, #13215. > > > > While everyone involved has considered the code and math carefully, it > > is my opinion that the design could still be subject to (mild) changes > > in the near future, so I suggested that the code be merged but with > > the @experimental warning on. This arose in part because I very recently > > was made aware that there are multiple conflicting notions of evaluation > > of skew polynomials, and the current patch supports only one. I imagine > > that other, similar things could crop up. > > As a compromise, wouldn't it be sufficient (and appropriate anyway) to > place warnings (.. WARNING:) in the module and/or class descriptions? > (There don't seem to be any yet.) > > I can hardly imagine anyone would base his/her code on it without > reading the documentation (or just the docstrings in the code). > > I see that as doing essentially the exact same thing with the only difference that a warning message is not displayed when the functionality is first called. So I'm not convinced this would be a fair compromise.
> > > One reviewer is strongly opposed to adding @experimental to the module. > > He would accept adding it on __call__ due to the aforementioned example, > > but not to simply constructing the skew polynomial ring. It seems we > > fundamentally disagree on what valid use-cases are for @experimental. > > > > So we bring it to sage-devel for arbitration. Essentially, my point of > > view is that when a new structure is added to Sage, and one has mild > > doubts that certain details could change, then the @experimental > > decorator can/should be added. But the code can still be merged, even if > > the addition of @experimental reveals less than fool-hardy conviction in > > the design. The reviewer argues against this because the code is useless > > for building upon if one cannot trust the API. > > > > (Perhaps the reviewer would like to argue his stance more clearly than I > > can.) > > As Johan stated, my viewpoint is because you are not promising a stable API with the @experimental, anyone who wants to develop code based upon @experimental code either are requiring you, who put in the @experimental. to also fix their code should the API change or have their code be silently broken (say, for lack of a specific doctest). So by marking everything as experimental, you're effectively saying you should not build upon this. There is also another issue: when does the code stop becoming @experimental and who decides? >From [Johan's] last post on the ticket, I think we might also have a slight disagreement on the definition of mild too. Mild to me would be changing some method or parameter names, whereas any behavioral change would not be. Best, Travis -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.