It appears to me that we do not have a good way at the moment to track that things put into math are also exposed and documented to users. Some examples:
integrate_ode_adamswas exposed for years, but not documented (solved now)
- GP kernels were exposed for a while, but not documented
kinsol_solverwas around for a year and just very recently exposed and documented thanks to @charlesm93
algebra_solver_fpis not exposed nor documented and there isn’t even an issue for this
integrate_daeis also lacking being exposed and being documented
Putting this stuff into Stan-math was surely a ton of work for the person writing it and for the persons reviewing it. In addition this stuff creates maintenance work going forward. As such we should really make an effort to expose this to the Stan language.
I am bringing this up to improve the situation and call for suggestions. Here are some ideas:
have a convenient way to track the status of stan language expose and documentation being available - for any new function which is put in math and should be exposed we should add this function to such a list. All old functions as above should be put there as well. This overview should also have a date indicating when it was added to math.
Functions which never make it to the Stan language - and this is controversial, I know - will be removed ultimately from Stan-math in order to avoid the maintenance burden. Removal will only happen if in-activity on the matter has been long enough and no additional time has been requested. Things can always be moved along, but there should be a mechanism to automatically follow-up on this stuff.
If too much stuff is put into Stan-math which is never exposed, then that is very obvious overhead for the project which we should try to get rid of to not harm the project in the long run.